Python中文
首页
教程
问答
标签
搜索
登录
注册
Python套接字刷新
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图确保每次调用socket.send函数时,缓冲区都被发送(刷新)到服务器(在C中使用unix socket)。</p> <p>根据我的理解(以及我在这张黑板上看到的),只是禁用了naggle算法。应该这样做,但我的服务器仍然接收4096字节块(默认设置)的数据。。。</p> <p>我在Python v2.5.4中使用以下代码:</p> <pre><code> self.sck = socket( AF_INET, SOCK_STREAM ) self.sck.setsockopt( IPPROTO_TCP, TCP_NODELAY, 1 ) # That doesn't seems to work... self.sck.connect( ( "127.0.0.1", "12345" ) ) while( 1 ): self.sck.send( "test\n" ) self.sck.send( "" ) # Still trying to flush... </code></pre> <p>启用/禁用TCP节点似乎没有任何效果。。。这是虫子还是我遗漏了什么?</p> <p>短暂性脑缺血发作</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>TCP不提供任何类型的保证“包”发送到另一端。您正在以尽可能快的速度发送数据,而TCP正在尽可能多地将数据成批地发送。您的服务器一次接收4096字节的数据,可能是因为它要求这样做(在<code>recv()</code>调用中)。</p> <p>TCP是一种流协议,因此您必须实现某种框架。没有内置的消息边界。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django restfram生成PDF
6 回答
无法使用Django Rest框架发送压缩的gzip数据
3 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
5 回答
无法使用Django、Python和JavaScrip触发onclick函数
3 回答
无法使用Django.views.generic.View保存表单
6 回答
无法使用Django(python 2.7,OS X 10.11.1)
8 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
3 回答
无法使用Django\u mssql\u后端迁移到外部hos
5 回答
无法使用Django&Python3.4连接到MySql
6 回答
无法使用Django+nginx上载媒体文件
4 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
6 回答
无法使用Djangocketditor上载图像(错误400)
3 回答
无法使用Djangocron进行函数调用
8 回答
无法使用Djangofiler djang上载文件
3 回答
无法使用Djangokronos
7 回答
无法使用Djangomssql provid
5 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
1 回答