一个通讯程序,客户端是JAVA写的,服务端是C的,现在要实现服务端断开连接后,客户端可以自动重新连接。客户端是我写的,我自己用JAVA模拟写了一个服务端,服务端断开后,客户端是可以捕捉到异常,重新连的。可是跟C的服务端测试的时候,根本捕捉不到异常,听说那个服务端的应用和通讯是分开的。他们的通讯停了以后,我看了我的TCP连接状态是CLOSE_WAIT,网上查了下,是服务端断开通讯后,客户端的TCP层状态如果是CLOSE_WAIT,就需要客户端主动调用SOCKET的close()方法才能完全close掉。可是我在程序里怎么知道tcp的状态呢?我调用了socket的isClose()方法,返回的是false,说明没有完全关闭掉。那我怎么获得tcp的状态是不是CLOSE_WAIT呢?