当前位置: 技术问答>linux和unix
客户端服务端使用socket通信的send/write最大发送多少?
来源: 互联网 发布时间:2017-01-12
本文导语: 大家好。 这个程序是 客户端向服务端发送文件。 客户端使用fread在本地读文件到buffer中,然后使用send或write在while循环中把buffer中的数据循环发送到服务器端。 测试文件大概为12M。问题是,如果使用fread一次读1M,...
大家好。
这个程序是 客户端向服务端发送文件。
客户端使用fread在本地读文件到buffer中,然后使用send或write在while循环中把buffer中的数据循环发送到服务器端。
测试文件大概为12M。问题是,如果使用fread一次读1M,然后发送时,服务器会正常接收100k~200k,然后recv的返回值变成为-1了。提示bad address。
如果使用fread一次读64K,客户端跟服务器端都正常。
(客户端阻塞,服务器端非阻塞,使用libev)
请问客户端在使用send/write时,buffer的大小有限制么?
通常大家是怎么写客户端的发送数据程序的?
谢谢大家。
这个程序是 客户端向服务端发送文件。
客户端使用fread在本地读文件到buffer中,然后使用send或write在while循环中把buffer中的数据循环发送到服务器端。
测试文件大概为12M。问题是,如果使用fread一次读1M,然后发送时,服务器会正常接收100k~200k,然后recv的返回值变成为-1了。提示bad address。
如果使用fread一次读64K,客户端跟服务器端都正常。
(客户端阻塞,服务器端非阻塞,使用libev)
请问客户端在使用send/write时,buffer的大小有限制么?
通常大家是怎么写客户端的发送数据程序的?
谢谢大家。
|
bad addr 就是你需要研究的问题
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。