两个SOCKET连接,A:非阻塞发一直发,B:为阻塞接收。
我不太清楚,对A的应答B是否能收到。如果能,我想把A写到主线各,B写到另一个线程中,谁能给一个简单的小例子呢?

解决方案 »

  1.   


    想用clientsocket与serversocket控件实现一个发,一个收(用两个clientsocket不能实现吧)。发一个线程,收一个线程。发(非阻塞),收(不知阻塞与线程阻塞有什么不同)(1接收发送信息的返回结果2信息)。把发送出的信息保存到一个记录数组中,这个数组是定长的。当这个数组滿时,不再发送,等待。根据发送信息的返回结果做不同处理。如:成功则从数组中删除;不成功重发,记录中发送次数加一,当这个发送次数达到一定值时从数组中删除。
    现在主要的问题是:1、serversocket监听哪个端口才能收到发回的信息状态呢?2、发的那个线程如何知道数组不滿和空出的位置,可以继续发送并填充记录至不滿处。我想到的办法是实时扫这个数组。也许可以当从数组中删除记录时,可以有个什么事件直接驱动。但这可怎么实现呢?不知还有其它什么更好的办法没?
      

  2.   

    我认为是一个socket,一个线程对它发数据,一个接收数据比较合适。