socket有阻塞和非阻塞模式,他们有什么优缺点?(100分)

  • 主题发起人 主题发起人 wz_lizard
  • 开始时间 开始时间
W

wz_lizard

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在正在学习socket编程,而现在书上只提到这两种方式,但没有具体说明天他们适用的环境。我现在都不知道应该用哪个方式。
我现在想在一个程序,从客户端发送信息到服务器上,服务器把这些信息存在数据里,并把这些信息发到另一台服务器?应用哪个模式?
 
非阻塞是垃圾
是原来microsoft解决阻塞时经常出问题!
所以提出非阻塞
现在ms解决了,所以没有说非阻塞快。
unix下面一开始就是阻塞
 
个人认为阻塞+超时设置比较好
 
我认为是非组塞最好控制,组塞方式消耗资源,不利于提高程序性能.
 


线程 + select(定时)+相关网络事件 Dispacth = 消息异步模式/事件异步模式

线程 + select(定时) + 数据接收/发送堆栈共享 +相关网络事件 Dispacth = 重叠/完成端口

其实并不需要为每个客户连接来分配一个线程,完全可以做到单个线程维护多个客户连接。

 
对于控制用的消息(命令)的传递用阻塞--可以得到保证

对于普通数据的传递用非阻塞--优点很多,就不说了
 
多人接受答案了。
 
后退
顶部