Nodejs实现WebSocket,并打包成exe文件使用

参考文章:
nodejs-websocket 的简单用法和安装
node打包可执行文件工具——Pkg使用心得
代码github下载链接:
https://github.com/yukiyukixing/websocket

WebSocket

(1)电脑里需要安装node环境,这一步就不多说了,直接百度一大堆

(2)安装nodejs-websocket
输入:npm install nodejs-websocket
Nodejs实现WebSocket,并打包成exe文件使用_第1张图片
Nodejs实现WebSocket,并打包成exe文件使用_第2张图片
(3)新建一个server.js文件和一个config.json文件
Nodejs实现WebSocket,并打包成exe文件使用_第3张图片
然后在config.json写入代码:

{
	"port":3000
}

然后在server.js中写入代码:

var ws = require('nodejs-websocket');
var fs = require("fs")
var value
fs.readFile('./config.json', function (err, data) {
    if (err) {
        return console.error(err)
    }
    var value1 = JSON.parse(data.toString())
    value = value1.port
    console.log(value)

    var port = value
    var server = ws.createServer(function (conn) {
        //受到连接触发//
        //在服务端cmd安装npm install nodejs-websocket//
        console.log('new connection');
        conn.on("text", function (str) {
            // 收到信息触发     接收 //
            console.log("received" + str)
            boardcast(str) // 广播消息 //
            conn.sendText(str) // 发送 数据 //
        })
        conn.on("close", function (code, reason) {
            // 断开连接触发 //
            console.log("connection closed")
        })
        conn.on("error", function (err) {
            // 出错触发 //
            console.log("header err")
            console.log(err)
        })
        function boardcast(str) {  // 广播 //
            // server.connections  保存每个连接进来的用户 //
            server.connections.forEach(function (conn) {   //  .forEach 是调用数组里每个元素  //
                conn.sendText(str)
            })
        }
    }).listen(port)
    console.log("websocket server listen port is" + port)
})

(4)安装pkg,npm install -g pkg
Nodejs实现WebSocket,并打包成exe文件使用_第4张图片
(5)pkg安装好之后开始打包服务端文件,执行命令:pkg ./server.js
此时会打包出来三个包,一个windows版本的exe文件,一个linux版本的server-linux,一个mac版本的server-macos
window下的版本可以直接双击exe文件,一个websocket的socket服务端就启动起来了,linux版本的话把文件传到linux
服务器上,然后到文件的位置执行命令:nohup ./server-linux > server.log 2>&1 &
执行完上面那个命令后再执行命令:exitNodejs实现WebSocket,并打包成exe文件使用_第5张图片
windwos版本启动起来的样子
Nodejs实现WebSocket,并打包成exe文件使用_第6张图片
控制端传参代码
Nodejs实现WebSocket,并打包成exe文件使用_第7张图片
接收端代码
Nodejs实现WebSocket,并打包成exe文件使用_第8张图片
这样就能实现在同一个局域网内实现跨终端一个页面控制另一个页面了。

你可能感兴趣的:(JavaScript,websocket,一个页面控制另一个页面)