关于Socket的同步和异步的问题

时间:2021-03-05 23:41:35
不好意思,以前没作过网络方面的程序,问题很浅,但分可有少哦^0^

14 个解决方案

#1


不好意思,以前没作过网络方面的程序,问题很浅,但分可不少哦^0^

#2


同步,就是实时处理,比如服务器一接收客户端请求,马上响应,这样客户端可以在最短的时间内得到结果,但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成涌塞。同步方式通信指的是发送方不等接收方响应,便接着发下个数据包的通信方式;
异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。而异步通信指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。

#3


在socket中就是应用blocking and NoBlocking吧!
to  nuaawyd(我是菜鸟,我怕谁!) :
"而异步通信指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。"
不是吧?又不是TFtp协议,非要停止等待!

#4


那我使用上有什么区别吗:CSocket和CAsyncScoket

#5


原来你也用MFC。
是这样的,CSocket 就会一直等,等到网络给你响应,而CAsyncSocket,会立刻返回,然后以消息形式通知你。

#6


同步:
   a向b发出一个请求并开始等待应答,受到后发出下一个请求,在等待应答...... 如此循环下去!

异步:
   a向b连续发出10个请求,另一方面a会连续收到b的10个应答。。。。。。

#7


CAsyncScoket派生自CSocket

#8


csocket有伪堵塞现象
CAsyncScoket没有。

MFC的套接字类都是采用异步选择IO模型。
也就是注册窗口事件,比如有数据到触发onreceive

#9


多谢各位
我看一些demo中用CSocket发消息都是用一个串行类,如果我用它从CAsyncScoket继承下来的发送函数发送数据,那么它是同步的还是异步的呀?
希望这么外行的话大家可以听懂^0^

#10


如果一个数据量比较大的C/S系统,我采用同步好还是异步好呀

#11


根据我的经验(作视频传输),建议你还是别用CSocket和CAsynSocket为好,而是根据自己的需求,将Winsock API进行重新封装,即可以保证程序的稳定性,又可以具有较大的灵活性。

#12


楼上说的对!从去年开始我就再也没用过CSocket和CAsynSocket了,直接用API

#13


建议还是先看看MFC的书!还有看CSDN的用户行为准则!
问这样的问题就是没动过脑筋的表现。

#14


www.sockets.com

#1


不好意思,以前没作过网络方面的程序,问题很浅,但分可不少哦^0^

#2


同步,就是实时处理,比如服务器一接收客户端请求,马上响应,这样客户端可以在最短的时间内得到结果,但是如果多个客户端,或者一个客户端发出的请求很频繁,服务器无法同步处理,就会造成涌塞。同步方式通信指的是发送方不等接收方响应,便接着发下个数据包的通信方式;
异步,就是分时处理,服务器接收到客户端请求后并不是立即处理,而是等待服务器比较空闲的时候加以处理,可以避免涌塞。而异步通信指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。

#3


在socket中就是应用blocking and NoBlocking吧!
to  nuaawyd(我是菜鸟,我怕谁!) :
"而异步通信指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。"
不是吧?又不是TFtp协议,非要停止等待!

#4


那我使用上有什么区别吗:CSocket和CAsyncScoket

#5


原来你也用MFC。
是这样的,CSocket 就会一直等,等到网络给你响应,而CAsyncSocket,会立刻返回,然后以消息形式通知你。

#6


同步:
   a向b发出一个请求并开始等待应答,受到后发出下一个请求,在等待应答...... 如此循环下去!

异步:
   a向b连续发出10个请求,另一方面a会连续收到b的10个应答。。。。。。

#7


CAsyncScoket派生自CSocket

#8


csocket有伪堵塞现象
CAsyncScoket没有。

MFC的套接字类都是采用异步选择IO模型。
也就是注册窗口事件,比如有数据到触发onreceive

#9


多谢各位
我看一些demo中用CSocket发消息都是用一个串行类,如果我用它从CAsyncScoket继承下来的发送函数发送数据,那么它是同步的还是异步的呀?
希望这么外行的话大家可以听懂^0^

#10


如果一个数据量比较大的C/S系统,我采用同步好还是异步好呀

#11


根据我的经验(作视频传输),建议你还是别用CSocket和CAsynSocket为好,而是根据自己的需求,将Winsock API进行重新封装,即可以保证程序的稳定性,又可以具有较大的灵活性。

#12


楼上说的对!从去年开始我就再也没用过CSocket和CAsynSocket了,直接用API

#13


建议还是先看看MFC的书!还有看CSDN的用户行为准则!
问这样的问题就是没动过脑筋的表现。

#14


www.sockets.com