📅  最后修改于: 2023-12-03 15:36:34.575000             🧑  作者: Mango
在Javascript中使用TCP请求可以通过Node.js中提供的net
模块来实现。
要创建TCP客户端,可以使用net.Socket
类,该类提供了连接到主机和端口号的方法。以下是创建TCP客户端的示例代码:
const net = require('net');
const client = new net.Socket();
const HOST = '127.0.0.1';
const PORT = 3000;
client.connect(PORT, HOST, () => {
console.log('Connected!');
client.write('Hello, server!');
});
client.on('data', (data) => {
console.log('Received: ' + data);
client.destroy();
});
client.on('close', () => {
console.log('Connection closed');
});
在这段代码中,我们创建了一个net.Socket
实例并使用connect
方法连接到127.0.0.1
的3000
端口。一旦连接成功,我们使用write
方法发送数据到服务器。当收到数据时,on('data', ...)
事件处理程序被触发,并输出接收到的数据。最后,当连接关闭时,on('close', ...)
事件处理程序被触发。
要创建TCP服务器,可以使用net.createServer
方法创建一个服务器实例并监听端口号。以下是创建TCP服务器的示例代码:
const net = require('net');
const server = net.createServer((socket) => {
console.log('Client connected: ' + socket.remoteAddress + ':' + socket.remotePort);
socket.on('data', (data) => {
console.log('Received: ' + data);
socket.write('Echo: ' + data);
});
socket.on('close', () => {
console.log('Client disconnected');
});
});
const PORT = 3000;
server.listen(PORT, () => {
console.log('Server listening on port ' + PORT);
});
在这段代码中,我们使用net.createServer
方法创建一个TCP服务器实例,并在connection
事件中处理新客户端的连接。当服务器收到数据时,on('data', ...)
事件处理程序被触发,并执行回显操作。最后,当连接关闭时,on('close', ...)
事件处理程序被触发。