function formatDate(now) {
var year = now.getFullYear();
var month = now.getMonth() + 1;
var date = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
return year + "-" + (month = month < 10 ? ("0" + month) : month) + "-" + (date = date < 10 ? ("0" + date) : date) + " " + (hour = hour < 10 ? ("0" + hour) : hour) + ":" + (minute = minute < 10 ? ("0" + minute) : minute) + ":" + (second = second < 10 ? ("0" + second) : second);
}
var output;
var websocket;
function init() {
output = document.getElementById("output");
testWebSocket();
}
function addsocket() {
var wsaddr = $("#wsaddr").val();
if (wsaddr == '') {
pcjson_com_msg($("#wsaddr"), "请填写Websocket测试地址");
return false;
}
StartWebSocket(wsaddr);
}
function closesocket() {
if (websocket) {
websocket.close();
}
else {
writeToScreen("Websocket未连接,无需进行断开操作!");
}
}
function StartWebSocket(wsUri) {
websocket = new WebSocket(wsUri);
websocket.onopen = function (evt) { onOpen(evt) };
websocket.onclose = function (evt) { onClose(evt) };
websocket.onmessage = function (evt) { onMessage(evt) };
websocket.onerror = function (evt) { onError(evt) };
}
function onOpen(evt) {
writeToScreen("连接成功,现在你可以发送信息进行测试了!");
}
function onClose(evt) {
writeToScreen("Websocket连接已断开!");
websocket.close();
}
function onMessage(evt) {
writeToScreen('服务端回应 ' + formatDate(new Date()) + '
' + evt.data + '');
}
function onError(evt) {
writeToScreen('发生错误: ' + evt.data);
}
function SendMessage() {
var message = $("#message").val();
if (message == '') {
pcjson_com_msg($("#message"), "请先填写要测试发送的消息");
$("#message").focus();
return false;
}
if (typeof websocket === "undefined") {
pcjson_com_msg($("#message"), "Websocket还没有连接或者连接失败,请进行检测");
return false;
}
if (websocket.readyState == 3) {
pcjson_com_msg($("#message"), "Websocket已经关闭,请重新连接");
return false;
}
$("#message").val('');
writeToScreen('你发送的信息 ' + formatDate(new Date()) + '
' + message);
websocket.send(message);
}
function writeToScreen(message) {
var div = "