socket在非阻塞情况下可不可以控制读写???(50分)

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

wz_lizard

Unregistered / Unconfirmed
GUEST, unregistred user!
socket在非阻方式下,客户端通过onread事件来读取服务器发送的信息,我现在想用线程,不通过onread事件来读取信息,能不能做?如果可以用什么命令来判断服务器有信息发送?
 
用线程就改成block模式吧,在一个单独的线程里进行recv,send操作
你可以看TSocketServer的源代码
 
我认为还是用异步比较好,只要你习惯以后你会发现异步很多时候控制起来很舒服,
可以为所欲为,而且效率比组塞要好不少。[:D]
 
to 张无忌
我也想使用异步来做,但遇到一个问题.比如我在读取数据后想将其保存到数据库里,同时要将接收到的数据发送到另一台服务器上并有是否成功的反回标志。因为同时有可以有好几台服务端向我这里发送数据,此时我要边接收,边保存,同时还要发送到另一台服务器上,如果用异步可以做吗?
我用一个clientsocket把接收到的数据发到另一台服务器上,用一个serversocket 来接收数据。我建立了两个线程,一个负责收数据,一个来负责发数据,主线程就做数据的保存及查询。我现在遇到的问题就是:在发送到另一台服务器后,我无法判断何是来接收数据。
平时我是把接收数据写在onread事件里,而在线程里没法这样做,用什么命令可以判断Onread事件的发现,我想用拦截消息是否可以做到,如果可以应该怎么做?
 
发个例子给您
 
接受答案了.
 
后退
顶部