cnc强力磁盘 东莞网站建设thinkphp 大型网站开发
在Node.js中,主要有三种socket:TCP,UDP和Unix域套接字。以下分别介绍这TCP/UDP的使用方法和示例:
TCP socket
 TCP socket提供了可靠的、面向连接的通信流,适用于需要可靠传输的应用,例如Web浏览器的HTTP请求。在Node.js中,可以使用net模块创建TCP服务器和客户端。以下是一个创建TCP服务器和客户端的示例:
服务器端代码(app.js):
var express = require('express');  
 var app = express();  
 var net = require('net');  
 var HOST = '127.0.0.1';  
 var PORT = 8081;  
   
 net.createServer(function(sock) {  
   console.log('获得一个连接');  
   sock.on('data', function(data) {  
     console.log('从客户端接受的数据: ' + data);  
     sock.write('向客户端回发数据 "' + data + "\n");  
     sock.end("关闭socket"); // 触发客户端和服务端的close事件监听  
   });  
 }).listen(PORT, HOST);
客户端代码(client.js):
var net = require('net');  
 var HOST = '127.0.0.1';  
 var PORT = 8081;  
   
 var client = net.createConnection(PORT, HOST);  
 client.on('connect', function() {  
   console.log('连接到服务器');  
   client.write('客户端发送数据\n');  
 });  
 client.on('data', function(data) {  
   console.log('从服务器接受的数据: ' + data);  
 });
UDP socket
 UDP socket提供了无连接、不可靠的通信流,适用于不需要可靠传输的应用,例如实时游戏或VoIP应用。在Node.js中,可以使用dgram模块创建UDP服务器和客户端。以下是一个创建UDP服务器和客户端的示例:
服务器端代码(server.js):
var dgram = require('dgram');  
 var server = dgram.createSocket('udp4');  
 server.on('listening', function() {  
   var address = server.address();  
   console.log('UDP服务器正在监听 %s:%d', address.address, address.port);  
 });  
 server.on('message', function(message, remote) {  
   console.log('从 %s:%d 收到消息: %s', remote.address, remote.port, message);  
   server.send('向客户端回发数据 "' + message + "\n", remote.port, remote.address);  
 });  
 server.bind(12345); // 绑定端口号,并开始监听消息
客户端代码(client.js):
var dgram = require('dgram');  
 var message = Buffer.from('客户端发送数据\n');  
 var client = dgram.createSocket('udp4');  
 client.send(message, 0, message.length, 12345, 'localhost', function(err, bytes) {  
   if (err) throw err;  
   console.log('UDP客户端已发送消息');  
 });  
 client.on('message', function(message, remote) {  
   console.log('从 %s:%d 收到消息: %s', remote.address, remote.port, message);  
 });
