我有服务器客户端应用程序。在客户端,我使用此I / O流来输出数据:
out = new PrintWriter(socket.getOutputStream(), true);
out.println("yeah");
在服务器端,我试图通过这一行阅读产品:
DataInputStream din = new DataInputStream(s.getInputStream());
String clientId = din.readUTF();
服务器到达上述语句并停在那里。有什么问题?这两个I / O流是否彼此不兼容?
任何一方都没有抛出异常,没有输出。我只是在上述声明I =之前和之后添加了System.out.println()
,我确定程序没有越过这一行:String clientId = din.readUTF();
答案 0 :(得分:0)
如果要使用DataOutputStream.writeUTF()
从套接字的另一端读取,则应使用DataInputStream.readUTF()
方法。有关原因的详细信息,请参阅DataInput
上的Javadoc。或者,尝试使用buffered reader或扫描程序读取数据。