这个问题我是在论坛看到的类似的问题,当时回复了他。。后面仔细想想又好像自己也不是太清楚。如是又看了一下tcp/ip详解。。。。
顺便自己做了一下实验,发现发送一些数据后客户端就卡死了(阻塞套接字),服务器只接受连接,不取出系统缓存的数据。
我想估计是服务器的对应套接字的buffer用完了,所以内核不在接收数据了,导致客户端不能够发送数据。那这样看来,客户端想不停的发送数据,只有不断建立连接才可以,在一个连接不停发送数据是不能的事情。
后面看了一下buffer 和 窗口大概类似,但不等于一会事。
比喻本机上窗口是25000,但接收buffer 8192.. 而且看tcp/ip 2貌似buffer还是可以提高他的上限。
以前觉得socket send 貌似就等于tcp/ip协议,现在看来真好傻,好天真。。
socket 函数只是插口层。。以前不明白为什么插口,现在明白了,就是用应用层钥匙,通过这把钥匙来跟下面协议打交道。。
posted on 2013-12-18 22:26
小鱼儿 阅读(666)
评论(0) 编辑 收藏 引用