博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs 平台的 webscoket 的实现
阅读量:6277 次
发布时间:2019-06-22

本文共 1646 字,大约阅读时间需要 5 分钟。

新手入门,没办法,只能选择不断不断的google吧。

找了很多的例子都跑不了,不知道什么原因。

后,自己在git搜索吧,选择了一个下面的例子: 

经过我的改造,改成我自己想要的方式。

只是将客户端发送的数据直接原封不动发回客户端。

先说说运行环境:window 7 ,node v0.10.5,全局安装了websocket.io模块,chrome 28浏览器。

(注:以下提到的两个js文件放在同一层目录下面即可,html文件随便放置)

这是后台的js代码:

1、将其存为socketServer.js文件里面,并且进行module导出。

/*  仅用于测试,  客户端发送的东西将被服务器原封不动的返回到客户端  运行环境:node v0.10.5            window 7            chromw 28*//*var server = */module.exports = ( function() {  var ws = require('websocket.io');  var socketServer = null;  var socketInitListen = function(port) {    socketServer = ws.listen(port);    socketServer.on('listening',function() {      console.log('Socket server running');    });    socketServer.on('connection',function(socket) {      console.log('Connected to client');      socket.on('message', function(data) {        // client send message to server        console.log('Server received message : ',data);        socket.send(data);      });      socket.on('close',function() {        socket.send('close');      })    })  };  var init = function(socketPort) {    socketInitListen(socketPort);  };  return {    init: init  };})();// server.init(9000);

2、引用上面那个module的文件,并且将端口绑定为9000端口,存为文件server.js。

var socketServer = require('./socketServer').init(9000);

3、页面的代码 :index.html

    
WebSockets Node.js

这都是源码的三个文件。

运行的方法为:

1、安装node ,我的版本是0.10.5,其他版本没进行测试;

2、安装websocket.io,命令如下 npm i -g websocket.io;

3、环境弄好了,可以跑了,打开命令行,cd到当前目录,跑 node server.js。

4、直接用chrome以本地文件方式直接打开index.html ,里面操作简单。其他浏览器没进行测试。

搭建完毕。

这是控制台下面的一行命令的截图。

 新手习作,若有出错,敬请大神指出。

转载于:https://www.cnblogs.com/shenqi0920/p/3242866.html

你可能感兴趣的文章
【js】函数问题
查看>>
postgresql----数组类型和函数
查看>>
聚集索引,非聚集索引,唯一索引
查看>>
github命令行实用操作
查看>>
进程同步
查看>>
DRF 分页组件
查看>>
Https 与http
查看>>
c++ explicit 修饰构造函数
查看>>
HDU 3018 Ant Trip
查看>>
每天一个linux命令(4) df命令
查看>>
jchdl - GSL实例 - Counter
查看>>
23 设计模式
查看>>
linux
查看>>
hessian 在spring中的使用 (bean 如 Dao无法注入的问题)
查看>>
leetcode Nim game
查看>>
leetcode 189. Rotate Array
查看>>
24. Spring Boot 自定义Starter (未整理,待续)
查看>>
Lua用于游戏运行期热更(不重启游戏客户端)
查看>>
Openresty+Lua+Redis灰度发布
查看>>
js原型链结构与链表结构对比
查看>>