java - 遇到 java.net.BindException : Address already in use (Bind failed) on server- client socket app

标签 java sockets exception

我遇到了 java.net.BindException:地址已在服务器客户端套接字应用程序上使用(绑定(bind)失败)

我正在尝试使用 Youtube 教程作为引用来了解 Java 套接字。我的代码似乎与视频中的所有内容匹配(变量名称除外),但是,当尝试运行服务器然后运行客户端套接字时,我得到:

Exception in thread "main" java.net.BindException: Address already in use (Bind failed)

我什至尝试打印出本地端口,只是为了确保我连接到正确的可用端口,但是没有任何效果。我可以查看任何文档来解决这个问题吗?或任何指导?

服务器.java

public class serverSocket {
 public static void main(String args[]) throws IOException{

  String message, serverResponse;

  ServerSocket serverSocket =  new ServerSocket(56789);
  System.out.print(serverSocket.getLocalPort());
  Socket acceptClientRequestSocket = serverSocket.accept();
  Scanner serverScanner = new Scanner(acceptClientRequestSocket.getInputStream());
  message = serverScanner.next();
   System.out.println(message);
  serverResponse = message.toUpperCase();

  PrintStream newMessage = new PrintStream(acceptClientRequestSocket.getOutputStream());
  newMessage.println(serverResponse);    

 }
}

客户端.java


public class clientSocket {

public static void main(String args[]) throws UnknownHostException, IOException {

    String message,outputMessage;
    Scanner clientInput =  new Scanner(System.in);
    Socket clientSocket = new Socket("localhost",56789);
    Scanner incomingStream = new Scanner(clientSocket.getInputStream());
    System.out.println("Enter a message");
    message = clientInput.next();
    PrintStream printClientStream=  new PrintStream(clientSocket.getOutputStream());
    printClientStream.println(message);
    outputMessage = incomingStream.next();
    System.out.println(outputMessage);

}
}

有没有我可以查看的文档来解决这个问题?或任何指导?

最佳答案

您之前执行的程序可能仍在运行。检查正在运行的java进程。杀死前一个并重试。

如果这没有帮助,请尝试重新启动您的计算机。如果此后问题仍然存在,则说明某些服务已在此端口上运行,并且正在与操作系统一起启动。在这种情况下,您可以更改应用中的端口号或禁用该服务。

关于java - 遇到 java.net.BindException : Address already in use (Bind failed) on server- client socket app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55997951/

相关文章:

java - 交换值(value)程序抛出错误

java - 如何将相同的 jrxml 文件与 Java 代码一起使用?

c - 当向本地网络之外发送数据包时,目标 MAC 地址应该设置为什么?

python - 如何从 python 请求响应/异常对象访问对等方的证书链?

java - IOException 为获取消息返回 null

java - ScrollView 中的权重

java - DefaultHttpClient 已弃用 Android Studio 2.2.2

c - 不用于通信时打开和关闭套接字,只能使用C语言中的select()

centos - 无法在 CentOS 上使用 setsockopt 设置 TCP_NODELAY

android - Google Analytics Android SDK/异常报告 : "myParser represents your implementation of ExceptionParser"