我用RMI创建了一个Server,Client类程序.但是每当我从命令提示符启动rmiregistry后运行我的服务器时,就会抛出已经处于使用状态的端口错误.只有我开始了这种情况.我从netstat检查了它.
服务器代码:
public class Server implements Runnable, Linker{
private static Server server = null;
private static Linker l = null;
private String name = null;
public Server(){}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void run(){
while(!("Andy").equalsIgnoreCase(name)){
}
}
public static void createStub(){
try{
server = new Server();
l = (Linker) UnicastRemoteObject.exportObject(server, 1099);
Registry registry = LocateRegistry.getRegistry();
registry.bind("Link", l);
System.out.println("Ready");
}
catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) { …Run Code Online (Sandbox Code Playgroud) 这个问题最近在我尝试启动active-mq时启动(默认情况下在端口61616上启动).但突然间,它停止在该端口上出现JVM_BIND问题.即使重新启动计算机,问题也没有消失.
主要问题是Windows 7上的netstat -a命令没有显示消耗了61616.但是当我编写一个简单的Java程序来将套接字绑定到该端口时,我当然无法做到!
我最终通过移动到另一个端口启动了active-mq.但是,任何人都可以帮我找到为什么所有端口都没有出现在netstat -a结果中?谢谢.