gpt4 book ai didi

java.net.绑定(bind)异常 : Address already in use: JVM_Bind

转载 作者:行者123 更新时间:2023-11-30 10:59:36 24 4
gpt4 key购买 nike

服务器程序:

 import java.io.*;
import java.net.*;
class Server{
public static void main(String args[]){
try{
ServerSocket ss = new ServerSocket(8080);
Socket s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
String str = (String)dis.readUTF();
System.out.println("Message : "+str);
ss.close();
}catch(Exception e){
System.out.println(e);
}
}
}

客户端程序:

import java.io.*;
import java.net.*;
class client{
public static void main(String args[]){
try{
Socket s = new Socket("localhost",8080);
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF("Hello friend ");
dos.flush();
dos.close();
s.close();
}catch(Exception e){
e.printStackTrace();
}
}
}

当我执行这个程序时。我收到这样的错误“java.net.BindException:地址已在使用:JVM_Bind”但在它工作正常之前。请有人帮我解决这个问题吗?

最佳答案

如果您多次重新启动程序的服务器端,TIME_WAIT 中可能会有套接字挂起,阻止您再次监听端口 8080。

您需要设置启用重用选项(套接字选项 SO_REUSEADDR),如下所示:

ServerSocket ss = new ServerSocket();
ss.setReuseAddress(true);
ss.bind(new InetSockAddress(8080));

关于java.net.绑定(bind)异常 : Address already in use: JVM_Bind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com