我正在使用 java socket 将数据从客户端传输到我的服务器,用户必须单击一个按钮才能打开与特定端口的连接,并且客户端必须运行可执行的 jar 文件才能将数据发送到打开的端口,但在某些情况下用户单击按钮,然后出于某种原因关闭浏览器选项卡!当他再次尝试单击按钮时,它给出了
已使用地址:JVM_Bind
有什么办法可以克服吗?!
是否可以在使用端口之前杀死端口上的任何进程?
如果有人需要检查,我的服务器端类代码:
class Server {
private Socket socket = null;
private ServerSocket server = null;
private DataInputStream in = null;
public Server(Integer port) throws Exception {
try {
server = new ServerSocket(port);
JSFUtils.addFacesInformationMessage("Waiting for a Data...");
socket = server.accept();
JSFUtils.addFacesInformationMessage("Done");
in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
String line = in.readUTF();
System.out.println("Data Scaned >> " + line);
} catch (Exception i) {
i.printStackTrace();
} finally {
// close connection
if (socket != null)
socket.close();
if (in != null)
in.close();
}
}
}
天涯尽头无女友
相关分类