社区
Linux/Unix社区
帖子详情
通过socket连接一次性发送大数据量的问题
jalen1234
2004-05-06 08:19:03
服务器的socket(TCP)被设置成非阻塞方式,但是需要一次性发送300k-400k的数据给客户端,这样每次没有发送完全,函数就返回了,怎样才能发送完整的数据??
...全文
248
6
打赏
收藏
通过socket连接一次性发送大数据量的问题
服务器的socket(TCP)被设置成非阻塞方式,但是需要一次性发送300k-400k的数据给客户端,这样每次没有发送完全,函数就返回了,怎样才能发送完整的数据??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beipiao
2004-05-07
打赏
举报
回复
发送的时候不是返回发送的字节数吗,你可以继续从发送完的地方的后面进行发送,比如
发送了n个字节,那么下次发送缓冲设为sendbuff+n
gettext
2004-05-07
打赏
举报
回复
发送前把socket设成阻塞方式, 发送完再设回来。
理想
2004-05-07
打赏
举报
回复
可以用 select(...) 来等待数据发送完成
anonimousboy
2004-05-07
打赏
举报
回复
可以把数据拆成大小小于8192的数据段,然后再发送,这样还安全,还不容易出错!
jalen1234
2004-05-06
打赏
举报
回复
我调用setsockopt(fd,SOL_SOCKET,SO_SNDBUF,sendbuff, sizeof(sendbuff))进行设置后,(char sendbuff[1024*1024),设置成1M)然后用getsockopt函数取得发送缓冲的大小,还是默认的8192,没有改变
yhbttfile
2004-05-06
打赏
举报
回复
把缓冲设置大一些吧。
TCP 多线程 同时
发送
大
量
数据 解决办法
我采用的办法是 首先向多个终端 创建
SOCKET
数组,创建多个线程 创建多个线程的目的不是要 每个线程向不同的终端
发送
,而是每个线程
发送
不同的数据,比如一个1G的数据,我线程1取出他的100M内容第二个线程取出他的第...
Socket
长
连接
和短
连接
的区别
短
连接
是指
SOCKET
连接
后
发送
后接收完数据后马上断开
连接
。 长
连接
连接
->传输数据->保持
连接
->传输数据->....->关闭
连接
长
连接
指建立
SOCKET
连接
后不管是否使用都保持
连接
,但安全性较差。 http的长
连接
HTTP也可以...
C#
Socket
传输
大数据
这样可以避免一次
发送
过大的数据,导致网络传输延迟或内存溢出的
问题
。通过将
大数据
分块
发送
或接收,可以有效地处理大
量
的数据,避免网络传输延迟和内存溢出的
问题
。在接收
大数据
时,我们也可以采用类似的方法,将...
socket
通信数据
量
大小限制
这两天搞一个android手机和电脑客户端的视频通信 之前找了一个别人的源码,以前没学过java和android,看了两天才把流程搞明白 ...最后才发现原来
socket
通信有数据
量
的限制 因为我这个是基于UDP通信的 所以在传输过程
Python使用
socket
-tcp接受客户端大
量
数据
# 创建
Socket
连接
sock =
socket
.
socket
(
socket
.AF_INET,
socket
.SOCK_STREAM) # 绑定
Socket
地址 sock.bind(('192.168.1.103', 10010)) # 允许最大
连接
数 sock.listen(1) # 准备接收数据 connection, address = sock...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章