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建议 清除一些 项目,再重新 建立。

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

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办