nodeJS搭建简单socket测试
背景:有个小伙伴使用vue连不上公司的socket,但又要想做连接测试。
网上搜索,安装node环境,其实就是下载个安装包:https://nodejs.org/en/download,安装成功后,配置一下环境变量,配置后win+R,输入cmd打开命令框,输入node -v,可以正常输出node的版本号,说明node安装完成。
然后就是如何创建一个node项目,网上找了一下,搬个砖记录一下。
1.创建nodeServer文件夹,在此目录下再创建一个testSocket目录。
2.在testSocket下使用 npm init -y进行初始化,然后安装 npm install express 、npm install socket.io 。
3.创建index.js文件,输入以下代码:
// 引入 WebSocket模块 const WebSocket = require('ws'); // 创建 WebSocket 服务器,监听端口3000 const server = new WebSocket.Server({port: 3000}); var count = 0; // 当有客户端连接时触发 server.on('connection', (socket) => { console.log('客户端已连接...'); // 处理收到的消息 socket.on('message', (data) => { console.log(`收到客户端发送的消息: ${data}`); }); socket.send('hello client!'); setInterval(function(){ count+=1; socket.send(count +':在吗?'); },1000*5) }); console.log("ws 服务示例已经启动 ws://localhost:3000")
4.在命令框中cd到testSocket中,node index.js,简单的socket就启动。
5.开个新的命令框中输入ipconfig找到自己的ip或者使用127.0.0.1组成地址:ws://127.0.0.1:3000,找个在线的socket测试,输入进去开始连接,就可以发消息了。
6.小伙伴也可以通过我的地址愉快的测试啦。
7.后记:我使用iOS的GCDAsyncSocket无法连接上面的简单服务,经过查询资料得知上面说的是WebSocket,而iOS用的是TCP/IP的Socket,只需要使用nodeJs创建TCP/IP的Socket即可,下面是简单代码。
const net = require('net'); // 创建一个TCP服务器实例 const server = net.createServer((socket) => { // 每当有客户端连接时,都会执行这个回调函数 console.log('客户端已连接'); // 接收客户端发送的数据 socket.on('data', (data) => { console.log(`接收到数据: ${data}`); // 发送数据回客户端 socket.write('服务器收到了你的消息: ' + data); }); // 监听客户端断开连接事件 socket.on('end', () => { console.log('客户端已断开连接'); }); // 如果发生错误,打印错误信息 socket.on('error', (err) => { console.error('socket error:', err); }); }); // 监听端口3000 server.listen(3000, () => { console.log('服务器正在监听端口 3000'); }); // 错误处理 server.on('error', (err) => { throw err; });
8.以上代码中net是nodeJs自带不需要安装依赖包。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?