代码如下:
Socket socket = new Socket();
public void send(String host,int port,String message){
socket.connect(new InetStockAddress(host,port),0);
//发关消息
socket.close();
}
send()在一个线程中被反复调用,问题是第2次调用时会报socket is closed的错
误,异常发生在connect()处,我打开connect()的源码发现
里面:
if (isClosed())
throw new SocketException("Socket is closed");
就是关闭后再建立连接就会报错 怎样关闭连接,而又使下次调用connect()方法时不报错,或者对于这个问题有
更好的解方案,请响应一下。先谢了....
Socket socket = new Socket();
public void send(String host,int port,String message){
socket.connect(new InetStockAddress(host,port),0);
//发关消息
socket.close();
}
send()在一个线程中被反复调用,问题是第2次调用时会报socket is closed的错
误,异常发生在connect()处,我打开connect()的源码发现
里面:
if (isClosed())
throw new SocketException("Socket is closed");
就是关闭后再建立连接就会报错 怎样关闭连接,而又使下次调用connect()方法时不报错,或者对于这个问题有
更好的解方案,请响应一下。先谢了....
如果一定要重新连接把你的new socket放到send函数里面(建议不要这样做,效率问题)
把new socket放到send函数里面
我也提出了效率问题
不过他说效率问题不大请问有没有解决效率的方案....
等待你的响应...
你如果要写成这样,你可以把new Socket(ip,port)的方法也写到循环里面