当前位置: 首页 > 知识库问答 >
问题:

已在使用的地址:JVM_Bind [重复]

翟冯浩
2023-03-14

我已经编写了这两个类,一个用于客户端,另一个用于服务器。当我运行这两个类时,我收到以下错误:

java.net.BindException: Address already in use: JVM_Bind...

问题是什么?我也使用TCPview软件,只有两个java。exe使用同一端口。这两个java。exe进程属于应用程序。

代码如下:

服务器代码

/**
*
* @author casinoroyal
*/
public class server {
    public static ServerSocket socket1;
    public static void main(String[] args)  {
        try {
            socket1 = new ServerSocket(1254);
            String request="";
            Socket mylink=socket1.accept();
            System.out.println("server feels=====");
            DataInputStream input= new DataInputStream(mylink.getInputStream());
            DataOutputStream output=new DataOutputStream(mylink.getOutputStream());
            Scanner chat=new Scanner(System.in);

            while(!request.equals("QUIT")){
                request=input.readUTF();
                output.writeUTF(chat.next());
            }

            socket1.close();
        } catch (IOException ex) {
            System.out.println(ex);
        }
    }
}

客户代码

package javaapplication9;
import java.net.*;
import java.io.*;
import java.util.*;
public class client {
    //main
    public static void main(String[] args)  {
        System.out.println("client want to be connected");   
        try {
            Socket mysock = new Socket(InetAddress.getLocalHost(),1254);               
            System.out.println("client has been connected");  
            DataInputStream input = new DataInputStream(mysock.getInputStream());
            DataOutputStream output = new DataOutputStream(mysock.getOutputStream());
            String reque="";
            Scanner scan1=new Scanner(System.in);
            String sendmsg=scan1.next();

            while(!reque.equals("QUIT")){
                output.writeUTF (sendmsg);
                reque=input.readUTF();
            }

            mysock.close();
        } catch (IOException ex) {
            System.out.println("client rejected"+ex);
        }
    }
}

共有1个答案

何宏博
2023-03-14

问题是什么?我也使用TCPview软件,只有两个java。exe使用同一端口。这两个java。exe进程属于应用程序。

这是你的问题。

您试图在计算机的同一端口绑定2个套接字,但您不能在同一台计算机的同一端口绑定2个套接字。

这可能是因为您有一个在端口1254监听的现有进程(可能是您的服务器应用程序的一个实例),并且您尝试运行您的服务器应用程序,该服务器应用程序也尝试在端口1254绑定

 类似资料:
  • 问题内容: 我在Windows XP Pro上使用Glassfish 3.0.1,JVM 1.6.0_21; 我不知道我的环境到底发生了什么变化,但是当我尝试部署企业应用程序(ejb模块+应用程序客户端模块)时,我立即获得了该堆栈跟踪信息。 除Glassfish之外,端口3820上没有任何运行。 这可能是什么原因?一些内部过程冲突? 关于如何进一步调试的任何提示? 编辑 这正是我尝试过的: 如您所

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

  • 问题内容: 有时,每当我重新启动基于Java Struts Mysql和Jboss 4.05版本构建的应用程序时,都会收到以下错误消息: 地址已在使用中:JVM_Bind 我知道的唯一解决方法是重新启动计算机,然后重试,它将起作用。否则,有时我执行Ctrl-Alt-Del并停止所有与Java相关的过程,有时这也可行。 但是,确切的原因是什么,我们如何预防这个问题呢? 问题答案: 已使用的地址:JV

  • 在java中运行我的客户端后,我得到了这个错误。 运行:

  • 问题内容: 在Eclipse中,出现此错误: 我不知道为什么现在出现,但几个小时前就可以运行了。我需要重启机器吗?我如何深入了解它?我感谢任何提示或建议。 问题答案: 是的,你有另一个绑定到同一端口的进程。 每当我遇到JVM_BIND错误时,Windows Sysinternals的TCPView(仅Windows)都是我最喜欢的应用程序。它显示了哪些进程正在侦听哪个端口。它还提供了一个方便的上下

  • 任何人请建议如何摆脱已经运行的应用程序。我试过很多关于杀戮过程的东西,但没有一个是真的奏效的。