2010-12-18 58 views
0

在我的服务器端,我关闭了socket的recv端以拒绝传入的数据。如何检查Recv或发送点的插座是否关闭

有时在代码后面我想检查我的recv结束是否关闭。我该如何检查?我没有在getsockopt中找到任何有趣的东西。

感谢, 桑迪普

+0

为什么要关闭读取部分的套接字?我认为这是一个TCP套接字,对吧? – 2010-12-18 17:49:36

回答

0

如何getsockopt(/*SO_CONNECT_TIME*/)?...这将返回连接插座isn't的SOCKET_ERROR ...

我建议你到插座上使用则closesocket(),以确保它已经关闭,不仅关闭。

+0

谢谢,但我想故意关闭套接字的一端,并在稍后的时间(比如发送结束)做另一端的关闭,以便清除我的缓冲区。 – sandeep 2010-12-18 14:14:37

+0

好的......那么你在发送方结束时关闭了,接收方结束了closesocket?... 并且在哪一端要检查“关闭”? – Incubbus 2010-12-18 14:25:16

1

可能通过在插槽fd的任何位置存储标志。当然,这会比制作额外的系统调用更有效率......

+0

谢谢R.我想的是以同样的方式,但想知道是否有任何系统调用。 – sandeep 2010-12-18 14:34:43