huhuyeah 2010-03-03 16:25
浏览 187
已采纳

Eclipse运行相同的代码,跟直接用java命令行结果不一致!

最近碰到一个很莫名的问题,相同的代码
public class SocketTest extends Thread {

public static void main(String[] args){
    SocketTest thread=new SocketTest();
    thread.start();
}   
@Override
public void run() {
    System.out.println("start");
    String ip="192.168.3.97";
    int port=8455;
    System.out.println(ip);
    System.out.println(port);

    Socket socket = new Socket();
    try {
        socket.bind(new InetSocketAddress(InetAddress.getLocalHost().getHostAddress(), 8666));
        SocketAddress remoteAddr = new InetSocketAddress(ip, port);
        socket.connect(remoteAddr, 60000);
        System.out.println(socket);     
        System.out.println("end");
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }       
}

}

直接在windows的命令行通过java SocketTest能得到正确的结果
E:>java SocketTest
start
192.168.3.97
8455
Socket[addr=/192.168.3.97,port=8455,localport=8666]
end

但是在Eclipse里面运行就提示这样的错误
java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at com.jetch.test.SocketTest.run(SocketTest.java:30)
Eclipse里面的install JREs已经跟javahome指定的是同一个文件夹了

  • 写回答

1条回答 默认 最新

  • xiaozhu86 2010-03-04 11:34
    关注

    构建server和client时忘从默认数组中args[]中将他们取出来。。。。。。。
    网上的答案。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值