8
回答
java socket()
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

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

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

举报
赖泽原
发帖于6年前 8回/1K+阅

以下是问题补充:

  • @赖泽原 :就是想实现一个类似于简易聊天室那样的东西,有客户端跟服务端,在有些电脑登客户端的时候就抛连接超时的异常,在某些电脑登陆的时候又可以正常使用。 (6年前)
共有8个答案 最后回答: 6年前

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

都比用java写socket简单.

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

引用来自“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)

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