java socket()

赖泽原 发布于 2012/04/28 20:14
阅读 2K+
收藏 0

我用java 的socket实现的一个程序,可是有些电脑可以连不上服务端,有些又可以连上。服务端在我自己的电脑上登陆的,其他电脑跟我都是校园网属于到同一个网关。这是为什么?

我在网上查了很多都解决不了问题,很多说是端口问题,我认为不可能是端口问题,如果是端口问题的话应该说有人都连不上,我是今年才学java的,是个新手,希望那个高手可以帮帮我。

以下是问题补充:

@赖泽原:就是想实现一个类似于简易聊天室那样的东西,有客户端跟服务端,在有些电脑登客户端的时候就抛连接超时的异常,在某些电脑登陆的时候又可以正常使用。 (2012/04/28 20:20)
加载中
0
宏哥
宏哥

学习python或者PHP,然后再写socket程序

都比用java写socket简单.

赖泽原
赖泽原
回复 @宏哥 : 额~~谢了。因为有些电脑可以,所以我觉得应该不会是代码的问题。可是查了很久实在解决不了。郁闷。
宏哥
宏哥
回复 @赖泽原 : 那俺也没用办法!
赖泽原
赖泽原
可是我这个写了一千多行的代码啊。前几天还很正常的,然后今天想拿出来修改一下的,结果就出现上面的情况了。这是我的课程设计,都快交了,突然出现这问题,都不知道怎么回事。
0
Andre.Z
Andre.Z
服务端关了,重开,你单独叫一个登不上的连接一次,其他人都下掉,看好没。能行,就是你程序设计问题,不行,就是你和他之间的网络问题,或者他那边装了狗血的防火墙,被禁了。还有,你们是一个网段的么?不同网段直接能访问么?
Andre.Z
Andre.Z
回复 @赖泽原 : telnet都不行的话,你怎么设置超时都没用。他那机器连接到你机器就是不行的。不是你程序问题。一般是他机器的防火墙设置问题,如果是同一网段的话。
赖泽原
赖泽原
@Andre.Z 目前试了6个人的电脑,4个不可以连接2个可以。4个不可以中有两个是前几天有连接过的。到现在还是不知道问题的根源。只知道程序的问题。还有什么情况是连不上的啊?
赖泽原
赖泽原
@Andre.Z 能连接的有反应,不能连接的是:无法打开到主机的连接。 在端口 8888: 连接失败
Andre.Z
Andre.Z
回复 @赖泽原 : 你去他机器上敲telnet 服务器IP 服务端口,看有回应没?再去能连接的敲下看看。
Andre.Z
Andre.Z
回复 @赖泽原 : 所以,知道原因了没???他根本就没连到你服务器。与你的服务端程序没一毛钱关系。
下一页
0
Yisen
Yisen
关掉windows防火墙
赖泽原
赖泽原
试了,还是一样不行。
0
赖泽原
赖泽原

引用来自“Andre.Z”的答案

服务端关了,重开,你单独叫一个登不上的连接一次,其他人都下掉,看好没。能行,就是你程序设计问题,不行,就是你和他之间的网络问题,或者他那边装了狗血的防火墙,被禁了。还有,你们是一个网段的么?不同网段直接能访问么?
关了防火墙还是不行
java.net.ConnectException: Connection timed out: connect
        at java.net.DualStackPlainSocketImpl.connect0(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:69)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
va:339)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.java:200)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java
:182)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
        at java.net.Socket.connect(Socket.java:579)
        at java.net.Socket.connect(Socket.java:528)
        at java.net.Socket.<init>(Socket.java:425)
        at java.net.Socket.<init>(Socket.java:208)
        at GobangClient.connect(GobangClient.java:690)
        at GobangClient.launchFrame(GobangClient.java:119)
        at GobangClient.main(GobangClient.java:42)

雷泡泡
我也遇到了相似的问题,请问楼主最后查到什么原因了么?是怎么解决的呢?
Andre.Z
Andre.Z
回复 @赖泽原 : 不客气,正好几年前玩过。。。哈哈哈
赖泽原
赖泽原
@Andre.Z 一直都是两个人的防火墙都关闭的,我设置一下超时时间试试。谢谢,你回答了这么多哈。
Andre.Z
Andre.Z
回复 @赖泽原 : 只要你自己机器开客户端连接服务端能连,那你程序问题就不大或者没有。最多也就是超时时间不够。排除这些,那就是对方到你这的网络问题了。
Andre.Z
Andre.Z
回复 @赖泽原 : 设置超时,是要改客户端的程序。
下一页
0
一号男嘉宾
一号男嘉宾
你电脑安装360或者QQ管家了吧。
Andre.Z
Andre.Z
回复 @赖泽原 : 和你自己机器上的没任何关系,你也不会说专门禁止那几个IP。应该去看对方电脑装的。
赖泽原
赖泽原
装了360,退了它试还是不行。还有,如果是360的问题的话,应该所有人都连不上吧?
0
ExtremeTalk
ExtremeTalk
不能访问的机器上telnet一下
赖泽原
赖泽原
@ExtremeTalk 不知道怎么解决。
ExtremeTalk
ExtremeTalk
@赖泽原 那就是网络问题
赖泽原
赖泽原
telnet不了。不知道是怎么回事。
0
落落的月
落落的月
你那能访问的是在同一个局域网  不能访问的是外网 
赖泽原
赖泽原
不是的,我们都是局域网的。同个网关,同个网段。而且之前还跟他连过的。
0
步步惊心
步步惊心
最简单的   断网  。。 要是断网都不行 。。  断网在重装
赖泽原
赖泽原
断网?你是指断开网络然后重连吗?试过重启电脑也不行。
返回顶部
顶部