Socket取数据

cheunyu 2013-08-28 04:35:56
客户端连接服务端取数据。得到的字节流为空。用别人的软件就能读取到数据。


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数据。数据如下:


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

...全文
116 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
n_e_e_d 2013-08-30
  • 打赏
  • 举报
回复
感觉楼上的说道额有道理呀! 上次我写一个socket总是在伐第二条数据的时候出现链接断开! 一直纳闷呢,后来才发现对发送的数据取得是字节的长度,而我写的是字符串的长度,所以每次一发送第二条对方就断开链接了,为此郁闷了好几天!
xiaoran27 2013-08-28
  • 打赏
  • 举报
回复
不知道LZ想做什么, 很明细是服务器端鉴权不成功给断开了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧