当前位置: 首页 > wzjs >正文

购物网站导航模板代运营服务

购物网站导航模板,代运营服务,漳州网站建设,兰州网站排名分析基础用法 const net require(net);// 创建 TCP 服务器 const server net.createServer((socket) > {// 当客户端连接时触发console.log(客户端已连接);// 接收客户端数据socket.on(data, (data) > {console.log(收到数据:, data.toString());socket.write(服务器已收到…

基础用法

const net = require('net');// 创建 TCP 服务器
const server = net.createServer((socket) => {// 当客户端连接时触发console.log('客户端已连接');// 接收客户端数据socket.on('data', (data) => {console.log('收到数据:', data.toString());socket.write('服务器已收到: ' + data); // 回复客户端});// 连接关闭事件socket.on('end', () => {console.log('客户端已断开');});// 错误处理socket.on('error', (err) => {console.error('连接错误:', err);});
});// 监听端口
server.listen(3000, () => {console.log('服务器已启动,监听端口 3000');
});// 服务器错误处理
server.on('error', (err) => {console.error('服务器错误:', err);
});

关键特性

  1. 连接对象 (socket)

    • 继承自 stream.Duplex,可读写数据流
    • 常用事件:dataenderrorclose
  2. 配置选项

    const server = net.createServer({allowHalfOpen: false, // 是否允许半开连接(默认 false)pauseOnConnect: false // 是否暂停连接数据流(默认 false)
    }, (socket) => { /* ... */ });
    
  3. 服务器事件

    • listening:服务器开始监听时触发
    • connection:新连接建立时触发(等同于回调函数)
    • close:服务器关闭时触发
    • error:服务器错误时触发

高级用法

1. 限制最大连接数
server.maxConnections = 10; // 最大允许 10 个并发连接
server.getConnections((err, count) => {console.log(`当前连接数: ${count}`);
});
2. 保持连接活跃
socket.setKeepAlive(true, 60000); // 启用 TCP Keep-Alive,60秒检测一次
3. 超时控制
socket.setTimeout(30000); // 30 秒无活动后超时
socket.on('timeout', () => {console.log('连接超时');socket.end();
});
4. 获取客户端信息
socket.on('data', (data) => {console.log(`客户端地址: ${socket.remoteAddress}:${socket.remotePort}`);console.log(`本地地址: ${socket.localAddress}:${socket.localPort}`);
});

完整生命周期示例

const server = net.createServer();server.on('listening', () => {console.log('服务器正在监听...');
});server.on('connection', (socket) => {console.log(`新连接来自 ${socket.remoteAddress}`);socket.on('data', (data) => {console.log(`收到 ${data.length} 字节数据`);});socket.on('close', () => {console.log('连接已关闭');});
});server.on('close', () => {console.log('服务器已关闭');
});server.listen(3000);// 关闭服务器(通常在需要优雅退出时调用)
process.on('SIGINT', () => {server.close(() => {console.log('服务器已终止');process.exit();});
});

常见问题

  1. 端口占用错误
    确保端口未被占用,或使用 server.on('error', (e) => { if (e.code === 'EADDRINUSE') { /* 处理逻辑 */ } })

  2. 数据边界问题
    TCP 是流式协议,需自行处理消息边界(可用 \n 分隔符或固定长度前缀)

  3. 性能优化

    • 使用 socket.setNoDelay(true) 禁用 Nagle 算法
    • 避免在回调中执行阻塞操作

与 HTTP 服务器的区别

特性TCP 服务器 (net)HTTP 服务器 (http)
协议层传输层 (TCP)应用层 (HTTP)
数据格式原始字节流结构化 HTTP 报文
内置解析自动解析请求头/方法/URL
适用场景自定义协议、实时通信Web 服务、API 接口

通过 net.createServer 可以实现:

  • 自定义协议通信(如游戏服务器、即时通讯)
  • 代理服务器
  • 原始 TCP 数据处理
  • 与 C/C++ 等其他语言编写的服务交互

建议结合 stream 模块和 Buffer 类处理复杂数据流场景。

http://www.dtcms.com/wzjs/280458.html

相关文章:

  • 什么程序做教育网站好产品推广公司
  • 广州智能建站线上线下一体化营销
  • 中铁建设集团集采网站宁波网络推广公司有哪些
  • 网站 服务报价百度首页排名代发
  • 如何建设教师网上授课网站企业网站优化解决方案
  • seo网站内容小程序开发需要哪些技术
  • html简单一套网页源代码关键词排名优化工具
  • 首码网站免费推广兴安盟新百度县seo快速排名
  • 武汉手机app制作淘宝优化关键词的步骤
  • wordpress防黑优化seo
  • 建站软件免费模板合肥网络推广培训学校
  • 深圳建设网站开发水果营销软文
  • 做赌博彩票网站吗网络营销师培训
  • 做移动端网站软件网站推广优化排名seo
  • 学校网站建设目的域名信息查询系统
  • 网站建设dbd3推广方式
  • 北京做网站供应商营销软文500字范文
  • 旅游网站的主要功能seo基础篇
  • pc蛋蛋bc网站开发百度竞价排名平台
  • 做导购网站有哪些贵州网站seo
  • 企业网站建设应该怎么做中国最好的网络营销公司
  • 现在那个网站做视频最赚钱东莞seo建站投放
  • 学校网站建设的意义与途径nba西部排名
  • 做淘宝券推广的网站有哪些软文是什么东西
  • 网站建设公司资质抖音关键词推广怎么做
  • 做网站python好还是javasem培训
  • 广州最专业的网站建设iis搭建网站
  • 如何做商业推广网站厦门百度竞价开户
  • 软件开发培训机构多少钱seo关键词快速提升软件官网
  • 如何开发一个直播平台惠州seo排名收费