Java Socket监听无效

如下代码publicclassConnTest{publicstaticvoidmain(String[]args)throwsIOException{ServerSoc... 如下代码

public class ConnTest {

public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(10000);
ss.accept();
}
}

如此简单,运行之后却在http://tool.chinaz.com/port等端口检查工具中检查出“关闭”。让别人试过,同样无法连接。防火墙已经关掉,计算机直接连接外网。服务为网通。请指教,谢谢。
展开
 我来答
ngc1987
2011-07-21 · TA获得超过290个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:111万
展开全部
经过测试,代码无问题,请检测,系统环境

测试时首先在类里打个断点,看他执行到哪儿不再往下执行,然后开启web浏览器,输入http://localhost:10000,然后可以过了断点继续往下执行
追问
用360看了,确实有监听。问题是localhost可以,但是从外面连接就不行了。。。你试试那个端口检测网站?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chongzi__123
2011-07-21
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
监听是没问题的
ss.accept();之后要有读取数据的
while (true) {
//TODO 读取数据
}
否则一旦有连接程序就结束了。
更多追问追答
追问
可是ss.accept()那个语句根本就没执行下去。
追答
试试运行这个代码,如果没有监听,可能会有端口冲突等等,可以用netstat查看是否有监听。
import java.net.ServerSocket;

public class TestSocket {

public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(10000);
ss.accept();
while(true) {
Thread.sleep(5000);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式