Hi everyone, I using the following codes to create and close a tcpsocket on WindowsXP: def open @tcp_server = TCPServer.new(@para[:host], @para[:port]) @ch = @tcp_server.accept end ... def close @tcp_server.close @ch.close end They are very simple. My problem is, if I don't close()(sometimes my users terminate my programe anyway before close() is called), the TcpServer will be LISTENING and the tcpSocket will be CLOSE_WAIT. If I call open() at this moment, ruby will raise Errno::EADDRINUSE. So, I want to rescue this Exception and handle it, is there a way to kill existed tcpServer/tcpSocket? I searched for a long time, and only found apps like killtcp.exe/aoi.exe, but they would be the last choice to me. Is there some other way? Such as command line or ready-made methods? Thanks a lot. Regards, LiFengfeng