【发布时间】:2013-05-01 21:12:00
【问题描述】:
我在写一个客户端-服务器程序,客户端是C++/winapi,服务器是C#/.net。
客户端有一个循环,它从服务器读取(并且可能会阻塞调用线程 [表示 t1],这对我来说很好)。它还有另一个线程 [表示 t2] ,等待一个超时的事件对象。
如果达到超时(并且事件尚未被单选),t2 线程将在同一个套接字上写入(精确地按字节)。
我遇到的问题是,在 t1 上的读取返回之前,写入似乎不会返回(在某些合法的场景中,它永远不会发生),好像套接字不是全双工的。
P.S : socket 是一个 AF_INET/ SOCK_STREAM,我使用 Readfile 和 WriteFile 作为 socket IO。
谢谢。
【问题讨论】:
标签: c multithreading sockets winapi thread-safety