2017-05-25 104 views
-1

我试图从计算机发送消息,并从另一个使用java套接字读取它。问题在于服务器收到的消息是未编码的,由钻石内的两个问号表示。服务器使用Java套接字接收未编码字符

读取和写入我用以下对象:

PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8"), true); 
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"))); 

而且方法:

out.println("OK"); 
in.readLine(); 
+0

您还必须发送其他内容。可能通过底层套接字流而不是这些读者和作者。 – EJP

+0

我很确定这是我发送的第一条消息 – sworwitz

+0

我刚刚阅读了一条消息,如果没关系,我发送一个OK,否则我发送一个错误 – sworwitz

回答

0

使用DataInputStream和DataOutputStream类读/写插槽。这些readUTF()和writeUTF()方法将正确地发送字符串。

+0

没有理由说明为什么显示的代码在字符串上不能正常工作。 – EJP