weixin_42388241 2010-07-24 23:15
浏览 302
已采纳

eclipse中的socket奇怪问题?

import java.net.*;
import java.io.*;
class SocketDemo
{
public static void main(String[] args)
{
try {
Socket s = new Socket("192.168.2.119",10003);
System.out.println(s.isConnected());
System.out.println("s="+s);
} catch (Exception e1) {

        e1.printStackTrace();
    }
}

}
首先,这个ip地址并不在局域网中存在,也没有一个服务端在监听10001端口,可是结果却是:
true
s=Socket[addr=/192.168.2.119,port=10003,localport=3642]
甚至把网络拔掉,结果也一样。

而我理解的socket的在建立对象时就已经去和服务单进行连接请求,如果服务端连接不上,会出现异常。
可是结果却是连接成功。

把这个java文件在DOS 命令行中,通过原始的javac编译在通过java运行,结果是:
网线未断开:
java.net.ConnectException: Connection timed out: connect

网线断开:
java.net.NoRouteToHostException: No route to host: connect

哪位兄弟可以解释一下,为什么在eclipse中却出现的是连接成功的结果呢??
注:用的是同一个JDK.

  • 写回答

1条回答 默认 最新

  • iteye_7333 2010-07-25 11:58
    关注

    我的运行结果:
    1,Eclipse(3.2.0)中运行:
    a,网线未断开:
    java.net.ConnectException: Connection timed out: connect
    b,网线断开:
    java.net.SocketException: Software caused connection abort: connect

    2,cmd(Java build 1.5.0_13-b05)中运行:
    a,网线未断开:
    java.net.ConnectException: Connection timed out: connect
    b,网线断开:
    java.net.SocketException: Software caused connection abort: connect

    没有看出你说的不一样。

    在Eclipse建议 清除一些 项目,再重新 建立。

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

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码