我在win7虚拟机上部署一套java程序,虚拟机有独立IP ,无独立网卡,网卡桥接,启动java程序报错。所有的socket出现问题。
java.net.SocketException: Invalid argument: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:128)没有获取到网络,还有其他现象,包括数据库无法连接。但是通过客户端工具是可以连接数据库,并且虚拟机可以直接被远程。
jdk版本 eclipse  java程序都和本人笔记本上一致。现考虑是虚拟机上网络异常,但是不知道问题在什么地方

解决方案 »

  1.   

    补充说明:应该可以确定是win7虚拟机的问题,我这边写了一个小程序测试了一下,基本的socket,代码如下
    import java.io.*;
    import java.net.*;public class SimpleTest { public static void main(String[] args){
    try{
    int port = 8899;  
    ServerSocket server = new ServerSocket(port);  
        Socket socket = server.accept();  

        while(true){
         Thread.sleep(100);
         System.out.println(socket.toString());
        }
    }catch(Exception e){
    e.printStackTrace();
    }
    }}在我本人的笔记本山运行没有问题,在win7虚拟机上报错
    java.net.SocketException: Invalid argument: JVM_Bind
    at java.net.DualStackPlainSocketImpl.bind0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
    at java.net.ServerSocket.bind(ServerSocket.java:375)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:128)
    at SimpleTest.main(SimpleTest.java:7)