1、什么是一个socket?
网络上两个程序通过一个双向的通信连接实现数据交换,这个连接的一端称为socket
2、http与socket的区别
4、基于node中net模块实现socket
1、服务端 001、引入net模块 const net = require("net"); 002、创建服务器 const server = net.createServer() 003、绑定端口号 server.listen(8888); 004、接受客户端的连接请求 //因为要实现多人聊天,因此需要用一个数据将所有用户存起来 let clients = []; server.on("connection",(client)=>{ //给每一个用户设定一个ID client.id = clients.length; //将用户存入数据中 clients.push(client) //客户端向服务器发送数据转码 client.setEnCoding("utf8"); //监听用户向服务器发送数据,如果当前用户向服务器发送了数据那么服务器在将这个数据发送给所有用户 client.on("data",(data)=>{ for(var i=0;i<clients.length;i++){ if(clients[i]){ clients[i].send(data) } } }) //监听用户是否退出群聊 client.on("close",()=>{ clients[client.id] = null; }) //监听服务器是否出错 client.on("error",()=>{ clients[client.id] = null; }) }) 2、客户端 001、引入net模块 const net = require("net"); //实例化客户端 const client = new net.socket(); 002、连接服务器 client.connect(8888,"127.0.0.1"); 003、监听来自服务器端的消息 client.on("data",(data)=>{ console.log("来自服务器端的消息"+data) }) 004、向服务器发送消息 client.write("你好我是客户端")
客户端
原文:https://www.cnblogs.com/nanianqiming/p/9069489.html