TCP/IP
文章平均质量分 51
fjs_cloud
这个作者很懒,什么都没留下…
展开
-
TCP/IP之buff分析m_buff与sk_buff
终于下决心开始看TCP/IP部分的源码了,从《TCI/IP详解,卷二》作为入口。。。首先来分析一下存取数据的buff,在书上,强调的是mbuf,不过好像现在新版本的内核改动比较大,更重要的还是sk_buff,不过还是先来看看mbuff吧,文件在:Driver/net/skfp/h/mbuf.h struct s_mbuf { struct s_mbuf *sm_next ; /*原创 2013-08-21 10:41:10 · 2771 阅读 · 0 评论 -
gevent关闭socket操作
最近在分析系统的时候,发现在压测的时候服务端出现了比较多的CLOSE_WAIT状态的tcp连接,需要等一会才能消除掉。。。。恩,CLOSE_WAIT状态的tcp状态是怎么出现的呢。。:首先客户端首先调用的close方法,那么将会发送fin数据包给服务端。。。服务端收到fin数据包之后,将会返回ack确认,然后服务器的tcp连接就进入了CLOSE_WAIT状态了,这个时候服务原创 2015-12-09 22:09:41 · 2667 阅读 · 0 评论 -
记UDP协议在Windows下的一个小问题
最近需要为公司的游戏服务端框架集成KCP协议,而且需要兼容pypy,所以需要用cffi对KCP进行一个简单的包装,本身这部分还是挺顺利的,但是测试的时候在Windows下却出现了比较蛋疼过的问题,socket的读取经常会抛出异常,错误码是10054,UDP没有连接,怎么会有重置的错误码。。。、。最后查到,其实这应该算是Windows的一个bug。。加入我们用一个udp sock原创 2017-05-23 20:22:00 · 723 阅读 · 0 评论 -
记一个诡异的UDP问题
游戏中使用的KCP来连接访问服务器,虽然是建立在UDP协议上,没有连接的概念,但是为了方便业务层维护,大多UDP协议都会模拟出一个连接的概念出来。。。我们的采用的方式是模拟了一套类似于TCP的握手机制, 客户端发送sync1 服务器返回sync2 客户端发送sync3 服务器返回syncf其中 sync1和syncf都是一个自己的握手数据包,但是在电信的移动网络环境,syncf数据包可能会丢原创 2017-12-14 16:40:07 · 799 阅读 · 0 评论