| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- //引用http和socket.io模块
- var us = {}
- //包含http模块
- us.http = require('http');
- //包含socket.io模块
- var socketio = require('socket.io');
- //创建httpserver
- us.app = us.http.createServer(function (req, res) {});
- //开启888端口,服务开始监听
- //us.app.listen(888);
- const hostname="127.0.0.1";
- const port=888;
- us.app.listen(port, hostname);
- console.log(`Server running at http://${hostname}:${port}/`);
- //也可以采用下面的写法,但代码更多
- /*us.app.listen(port, hostname, function() {
- console.log(`Server running at http://${hostname}:${port}/`);
- });*/
- //输出调试信息
- //console.log("Http Server start at 888");
- //socketio开始监听http请求
- us.socketio = socketio.listen(us.app);
- //webSocket协议握手成功
- ////'connection' 是socket.io 保留的.不能错,结果在变量socket中
- us.socketio.sockets.on('connection', function (socket) {
- //前端javascript使用socket.emit('msg', { msg: str }); //字符串msg是自己定义的,
- //socket.on('msg',function (data) {}); 后端需要用msg接收前端发送来的消息。'msg'需要和客户端发送时定义的事件名相同。
- socket.on('msg', function (data) {
- console.log('Get a msg from client ...');
- //console.log(data);
- //向客户端javascript发送广播,注意:这里广播消息为bcast,
- //则前端javascript用socket.on('bcast', function (r) {alert(r); });接收消息
- socket.broadcast.emit('bcast', data);
- });
- //console.log("WebSocket connect ok....");
- })
|