1. 按
一个项目若需用到多种语言开发请参考:基于WebSocket实现的分布式微内核项目
2. 安装库
npm install ws -g
3. 代码
var WebSocket = require('ws')
var ws = new WebSocket("ws://localhost:56");
//【用于指定连接成功后的回调函数】
ws.onopen = function (evt) {
console.log("Connection open ...");
ws.send("Hello WebSockets!");
};
//【用于指定收到服务器数据后的回调函数】
//【服务器数据有可能是文本,也有可能是二进制数据,需要判断】
ws.onmessage = function (event) {
if (typeof event.data === String) {
console.log("Received data string");
}
if (event.data instanceof ArrayBuffer) {
var buffer = event.data;
console.log("Received arraybuffer");
}
console.log("Received Message: " + event.data);
// ws.close();
};
//[【于指定连接关闭后的回调函数。】
ws.onclose = function (evt) {
console.log("Connection closed.");
};
ws.onerror = function (event) {
ws.close()
};
4. 实际应用
Connect.js
var WebSocket = require('ws')
exports.sendTree = function mysend(tree) {
var ws = new WebSocket("ws://localhost:56");
//【用于指定连接成功后的回调函数】
ws.onopen = function (evt) {
console.log("Connection open ...");
//event字段对应事件类型,tree字段是树序列
ws.send(JSON.stringify({ "event": 1, "tree": tree }));
ws.close();
};
//【用于指定收到服务器数据后的回调函数】
//【服务器数据有可能是文本,也有可能是二进制数据,需要判断】
ws.onmessage = function (event) {
if (typeof event.data === String) {
console.log("Received data string");
}
if (event.data instanceof ArrayBuffer) {
var buffer = event.data;
console.log("Received arraybuffer");
}
console.log("Received Message: " + event.data);
//ws.close();
};
//[【于指定连接关闭后的回调函数。】
ws.onclose = function (evt) {
console.log("Connection closed.");
};
ws.onerror = function (event) {
ws.close()
};
}
main.js
var ws = require("./Connect");
var tree = [1, 1, 0]
ws.sendTree(tree);