Node.js网络编程-多人聊天
Node.js网络编程-多人聊天
Node 中的网络编程 Node.js也提供了对socket的支持,它提供了一个net(网络)模块用来处理和TCP相关的操作,提供了dgram模块用来处理UDP(数据报)相关操作 net 模块给你提供了一个异步的网络封装. 它包含创建服务器和客户端(称为流)的功能 1.创建服务端 net模块通过net.createServer方法创建TCP服务器 // 服务端 var net = require('net'); // 创建服务器 server = net.createServer(); var users=[];//保存链接进来的客户端 // 监听客户端是否连接成功 socket客户端 能获取到客户端的ip地址 server.on('connection',function(socket){ console.log("当前ip:【"+socket.remoteAddress+"】端口号:【"+socket.remotePort+"】"); // 将客户端保存到数组中 users.push(socket); //接受客户端发送过来的数据 socket.on('data',function(data){ var msg = data.toString(); //服务器分发数据给所有的客户端 users.forEach(function(client){ if(socket != client){ client.write(client.remotePort+":"+msg); } }); }); //可能会报错 server.on('error',function(){ console.log('网络异常,请稍后重试......') }) }); // 启动服务器 server.listen(3000,'127.0.0.1',function(){ console.log([ " _ooOoo_", " o8888888o", " 88\" . \"88", " (| -_- |)", " O\\ = /O", " ____/`---'\\____", " .' \\\\| |// `.", " / \\\\||| : |||// \\", " / _||||| -:- |||||- \\", " | | \\\\\\ - /// | |", " | \\_| ''\\---/'' | |", " \\ .-\\__ `-` ___/-. /", " ___`. .' /--.--\\ `. . __", " .\"\" '< `.___\\_<|>_/___.' >'\"\".", " | | : `- \\`.;`\\ _ /`;.`/ - ` : | |", " \\ \\ `-. \\_ __\\ /__ _/ .-` / /", "======`-.____`-.___\\_____/___.-`____.-'======", " `=---='", "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^", " 佛祖保佑 永无BUG 服务器启动" ].join('\n')); }) 创建客户端 // 客户端 var net = require('net'); //创建客户端 var client = net.createConnection({ port:3000, host:'127.0.0.1' }); //监听客户端 是否连接服务成功 on监听 client.on('connect',function(){ //接受控制台的数据 process.stdin.on('data',function(data){ var client_msg=data.toString().trim(); //给服务端发送数据 client.wrient(client_msg); }); }); //接收服务端返回的数据 client.on('data',function(data){ console.log(data) }) 源码下载 网络编程.rar
 2022-4-25
     跳转到第 页,共 1 页

Theme By Brief 鄂ICP备19010459号

站长统计 sitemap

首页

分类

友链

登录