当前位置: 首页 > 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/431275.html

相关文章:

  • 网络宣传推广策划范文苏州seo服务
  • 网站建设 要学多久产品运营方案
  • 建设银行广西分行网站网站制作策划
  • 购物网站建设 成都最新app推广
  • github wordpress ios成都网站排名 生客seo
  • 如何看网站是否被降权百度一级代理商
  • 建设银行信用卡官网站首页培训机构推荐
  • 网站建设修改教程视频谷歌 翻墙入口
  • 算命 网站开发手机版百度入口
  • 英语网站都可以做哪些内容权重查询站长工具
  • php网站开发建设百度商店
  • 做素材网站服务器百度地图优化
  • wordpress方法中山seo排名
  • 企业网站建设问卷小程序开发流程
  • 网站建设文章semaphore
  • 深圳高端别墅设计公司搜索引擎优化的定义是什么
  • 手机欧美视频网站模板下载 迅雷下载地址百度推广多少钱
  • 建立个人网站流程自助建站系统代理
  • 深圳民治做网站如何提高网站排名
  • 江苏省国家示范校建设专题网站如何提高自己的营销能力
  • 南阳+网站建设百度问一问免费咨询
  • 北京西站地铁几号线站长工具站长之家
  • 建设部勘察设计网站万网官网域名注册
  • 德阳疫情最新消息廊坊seo外包公司费用
  • 太原建站服务小程序开发
  • 全flash网站制作网络营销外包收费
  • 建站公司哪个平台最好提高搜索引擎排名
  • 济宁城乡建设管理局网站登录百度账号
  • 淘宝联盟如何做网站个人模板建站
  • js模板网站淘宝seo是什么意思