recv问题时插座关闭

时间:2015-01-30 23:15:23

标签: c++ sockets ubuntu thrift

Ubuntu 14.04。如果recv()被阻止等待打开的连接上的数据,close()shutdown()从另一个线程调用,则不会导致recv()返回到同级之后关闭连接。

如何取消阻止recv()

我在thrift中的TServerSocket类中发现了这种行为。

1 个答案:

答案 0 :(得分:0)

您的问题最不清楚,但如果您想在关闭另一个线程中的套接字之前取消阻塞recv(),最好的方法是在关闭之前关闭套接字以进行输入。这将导致recv()返回零,就好像对等方已关闭连接一样。