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

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

报告相同问题?

悬赏问题

  • ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
  • ¥15 昨天电脑装了matlab好像多了个虚拟盘,关机前还被舍友插了usb不知道干了什么,今天开机电脑就变这样了,求解答
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计