服务端用包装流发送数据,客户端只能用同样的包装流接收数据么?

whereismymindM 2019-04-16 07:22:17
比如:
ServerSocket服务端向客户端发送消息:
ServerSocket socketServer= new ServerSocket(8090);
Socket socket =socketServer.accept();
OutputStream out = socket.getOutputStream();
DataOutputStream dOut = new DataOutputStream(out);
dOut.writeUTF("Hello Universe!");
dOut.close();
客户端接收:
Socket socket = new Socket("localhost",8090);
InputStream in = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String msg = br.readLine();
System.out.println(msg);
接收到的数据前面会多一个乱码:Hello Universe!
如果客户端也用DataOutputStream接收就没问题!
这是为什么?
那如果设计服务端的时候,是不是最好用OutputStream的write()输出数据,因为不确定
客户端的API会用什么包装流接收?

...全文
61 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,620

社区成员

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

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