当前位置:编程学习 > JAVA >>

Socket取数据

客户端连接服务端取数据。得到的字节流为空。用别人的软件就能读取到数据。


Socket socket = new Socket("192.168.73.7", 8021);
if(socket.isConnected()) {
    System.out.println("连接成功");
}
InputStream is = socket.getInputStream();
System.out.println(is.read());


然后用抓包工具分别测试自己的代码和软件取数据的区别。
先是我的Java代码抓包:

然后用软件取数据抓包:

可以看到,前三个包都是没有问题的。从第四个包开始,我就被断开了。
软件取数据时的第四个包还有一个PUSH数据。数据如下:


这是服务器端有权限验证么?直接把非法的链接给断了?

Socket --------------------编程问答-------------------- 不知道LZ想做什么, 很明细是服务器端鉴权不成功给断开了。 --------------------编程问答-------------------- 感觉楼上的说道额有道理呀!


上次我写一个socket总是在伐第二条数据的时候出现链接断开!
一直纳闷呢,后来才发现对发送的数据取得是字节的长度,而我写的是字符串的长度,所以每次一发送第二条对方就断开链接了,为此郁闷了好几天!
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,