社区
网络编程
帖子详情
问一个多线程发送的问题
gooddot
2003-11-22 05:10:34
请问大家,下面那种发送方式更好一点啊:
方式一:为每个连接建立一个发送线程;在每个发送线程中发送定长的数据
方式二:记录下每个连接的SOCKET;然后在一个线程中分别向各个连接发送定长的数据
数据大概200字节左右;
...全文
32
10
打赏
收藏
问一个多线程发送的问题
请问大家,下面那种发送方式更好一点啊: 方式一:为每个连接建立一个发送线程;在每个发送线程中发送定长的数据 方式二:记录下每个连接的SOCKET;然后在一个线程中分别向各个连接发送定长的数据 数据大概200字节左右;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mailxt
2003-11-22
打赏
举报
回复
如果要使客户端受到的数据同步的话,就用第二个,否则还是用第一个比较好。否则当客户端速度相差比较大时低速客户端会极大的影响性能。
sevencat
2003-11-22
打赏
举报
回复
你可能是想等所有的都发完再发下一个包。
这里还有一个办法。在异步读写的时候,先把总共要发送的客户放到一个值里面。如
m_CLientNum;
然后select里面一个写完了后就--,假如多线程的话要注意不能直接用--,++.
完成端口和重叠端口也是这样的。
每--后检查一下值,假如为零的话就可以下一轮读写了。
sevencat
2003-11-22
打赏
举报
回复
异步读写。
第二个花的时间无法掌握。因为是TCP,有时候是会阻塞的。
第一个多线程也是一个好主意。就是效率不如异步读写的好。
还有SELECT也可以用用。
不过都有一个麻烦。那就是有可能有的发了五个包,有的只发了一个包。这种情况你怎么处理?
gooddot
2003-11-22
打赏
举报
回复
我指的这两种方式都是在服务器端
gooddot
2003-11-22
打赏
举报
回复
主要考虑到一个速度原因:
如果有1000个用户连接,那么方式二从开始发送,到最后一个用户接收,到底要多少时间呢?
时间太长可不行;
如果用方式一的话是不是耗时会短一些,谁能告诉我到底那种方式快些??
sevencat
2003-11-22
打赏
举报
回复
TCP第二种直接用重叠模型吧。直接一发得了。
StormRainbow
2003-11-22
打赏
举报
回复
是不是多线程与客户端还是服务器没关系,客户机也可以在线程中接收发送数据。如果建立的连接不多,还是方式一好些。
danfeng
2003-11-22
打赏
举报
回复
各有各的好处 这具体要看你的程序的要求了
比如 如果你采用tcp那么如果你采用方式二就不可避免的要处理socket的阻塞问题 当然这也是有解决办法的 采用异步模型就可以解决 不过相对来说比较麻烦一点 ~~
msgsnd
2003-11-22
打赏
举报
回复
楼上的说得让我搞不明白。一般只有服务器端才是多线程的,服务器端有一个代表客户的socket,他实现了多线程啊。
xiaohyy
2003-11-22
打赏
举报
回复
如果是客户端,方式一就可以了。。
精通Android
多线程
视频教程
通过本课程的学习,让你透彻精通Android
多线程
编程,课程内容包括: 1.UI线程和非UI线程 2.使用Handler
发送
post请求 3.使用Handler处理Message消息 4.Handler、Looper、MessageQueue三者的关系 5.UI线程Handler和...
面试必
问
!
多线程
并发
问
题
多线程
并发
问
题
,基本是面试必
问
的。 大部分同学应该都知道Synchronized,Lock,部分同学能说到volatile、并发包,优秀的同学则能在前面的基础上,说出Synchronized、volatile的原理,以及并发包中常用的数据结构,...
客户端app多个线程对
一个
socket
发送
数据
客户端一般是
一个
发送
线程,
一个
socket 多个
发送
线程竞争
一个
socket没什么意义,不会提高
发送
速度,因为socket只有
一个
,只要socket在
发送
一个
线程的数据...请教:
多线程
使用同
一个
socket进行数据收发会出现什么
问
题
?
php 怎么实现
多线程
,php 实现
多线程
每
一个
访
问
者,当访
问
WEB页面的时候,都将调用新的线程,通过这一点我们可以利用WEB服务器自身的线程来解决PHP不支持
多线程
的
问
题
。下面给出通过 fsockopen() 建立socket连接,然后用 用fputs()
发送
消息,来实现的...
多线程
问
题
:为什么不应该使用
多线程
读写同
一个
socket连接?
为什么不应该使用
多线程
读写
一个
socket连接
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章