服务器设计过程中踩过的坑儿

本文探讨了客户端到服务器连接不稳定的案例研究,揭示了使用端口6667时出现的问题根源,该端口默认用于IRC协议,导致非IRC数据被误解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  6667端口

问题起因:client到server的连接异常不稳定,频繁断开

抓包结果


流量分析:client连接成功后,向server发送数据,发,发,发...,server返回RST」,连接被断开。

异常分析:看现象,貌似为client发送过快,server处理不过来,最后发送「RST,把连接重置。但诡异在于,TCP拥有流量控制,使用滑动窗口机制。即便需要断开连接,也不应是RST」如此暴力的方式。且程序中并未对套接字设置「linger」选项。


谜底揭秘

Google之"Wireshark IRC"


IRC协议的描述为,IRC」使用「TCP」作为传输协议,默认端口为「6667」。至此真相大白。

server使用的端口为「6667」,刚好撞上IRC」的默认端口。


至此,我们收获如下

①通过端口「6667」的数据传输,自动转为IRC」协议;

②服务器设计中不要使用端口「6667


对端口「6667」的搜索结果显示



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值