A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蜡笔 中级黑马   /  2015-4-10 13:26  /  520 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么客户端Socket.getInputStream()获取的读取流不能读取客户端发到网络流里的数据,而在服务端通过ServerSocket.accept().getInputStream()方法就可以读取?

3 个回复

倒序浏览
Socket.getInputStream()  是用于读取服务端发到客户端的数据的,getInputStream()是读取数据,当然是读取对面(服务端)来的数据,所以客户端的getInputStream()是读取从服务端来的数据,而服务端(new ServerSocket.accept().getInputStream())读取的是客户端来的数据。
回复 使用道具 举报 1 0
Socket的getInputStream() 中应该是定义了只从ServerSocket接收输入流。
在本地软件安装包中的src.zip里面可以找到这个函数是怎么封装的。
回复 使用道具 举报
客户端Socket.getInputStream()获取的读取流不能读取客户端发到网络流里的数据,因为你用入站流去拿出站数据,这方向错了,而服务器那个才是入站流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马