选择异步还是同步机制?

rabbitgoat 2009-06-08 02:21:40
要使用socket进行视频传输,多对一传输,多个客服端一个服务器,多个客服端同时进行视频采集并发送给服务器,服务器端是使用同步还是异步机制进行数据的接收显示好呢?请高人指点一二,最好讲讲各自的优缺点.谢谢
...全文
171 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzh9955 2009-06-08
  • 打赏
  • 举报
回复
UP
buttcher 2009-06-08
  • 打赏
  • 举报
回复
同步处理网络异常时容易造成出现长时间挂起,尤其是复杂的组网环境下
ccpaishi 2009-06-08
  • 打赏
  • 举报
回复
异步同步最好看使用业务的需要,如果可以后处理,就用异步。如果这个得不到,下面的不能进行,就要同步处理了
最好要看业务需要,不要固定的说哪个好。一般服务器处理都要用异步
wangask00 2009-06-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 hikaliv 的回复:]
其实我觉得吧……要是直接连通的话是异步,但是走路由的话,你同步与异步没什么差别。
[/Quote]


为什么走路有 同步异步没差别啊?
我感觉同步异步是编程方面的考虑,跟路由什么的应该没什么关系,因为socket编程不需要考虑底层协议和如何连接什么的吧
另外无论是直连和路由,指定的ip地址应该都用连向internet的那个吧,就是外网接入路由器的那个
连接的链路在调用相关函数之后,底层协议会给你弄好
光宇广贞 2009-06-08
  • 打赏
  • 举报
回复
其实我觉得吧……要是直接连通的话是异步,但是走路由的话,你同步与异步没什么差别。
pathuang68 2009-06-08
  • 打赏
  • 举报
回复
异步的。这里有一个完整的用IOCP开发Server端项目。可以参考。
wangask00 2009-06-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hairetz 的回复:]
都说异步IO好,倒想问下楼主,会那种模型?

你的这里不用IO模型,就多线程都可以实现啊。

如果是要问异步跟同步那个好,那就是问epoll跟IOCP对比咯。

select肯定不够先进。
[/Quote]

用异步肯定要好些

多线程确实就能搞定,你这不是大规模的网络通信

另外这位高人提出的epoll跟iocp,大规模的网络通信编程时候,linux的服务器端用epoll,windows下的服务器端用iocp编程
还有我想问下,照这位的说法,epoll是同步的?

还有我想问个问题,iocp每次在绑定端口的时候,还要指定一个线程函数,好像可以指定不同的吧,这是不是也算是多线程,然后线程里面会用一个iocp的函数去阻塞他,有消息的时候才往下执行

我觉得用多线程好像有点麻烦,他们视频监控,一个镜头就是一个socket,服务器端还要给他创建个线程,多个客户端去连接的时候
线程太多,估计cpu要吃不消了
mjx1981 2009-06-08
  • 打赏
  • 举报
回复
当然异步。
以数据为中心,数据采集和数据播放应该分开。
chenzhp 2009-06-08
  • 打赏
  • 举报
回复
异步啊
libaoxia 2009-06-08
  • 打赏
  • 举报
回复
数据的接受和显示当然用异步好了
1。显示和接受完全分离,互不影响
2。提高接收数据的速度,不受显示窗口逻辑影响

假如每个链接没有特殊处理,我觉得服务器接收数据用同步模式也可以。
  • 打赏
  • 举报
回复
都说异步IO好,倒想问下楼主,会那种模型?

你的这里不用IO模型,就多线程都可以实现啊。

如果是要问异步跟同步那个好,那就是问epoll跟IOCP对比咯。

select肯定不够先进。

liuka 2009-06-08
  • 打赏
  • 举报
回复
异步IO模式
zjx2388 2009-06-08
  • 打赏
  • 举报
回复
建议:异步处理
同步处理等待时间过长,而且没必要,做处理也比较麻烦
Alan_Pisces 2009-06-08
  • 打赏
  • 举报
回复
当然是异步,多客户端同时视频采集的流量是比较可观的.
同步:光内存拷贝和解码就需要相当是时间,影响接收网络传输效率;
异步:不存在这些问题.
bitwwzhang130 2009-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lylm 的回复:]
感觉异步好些,同步可能等待较长
[/Quote]
同意楼上观点
lylm 2009-06-08
  • 打赏
  • 举报
回复
感觉异步好些,同步可能等待较长

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧