我想通过套接字从我的Android设备向我的node.js服务器发送一个字符串。连接已经起作用,但每当我发送字符串时,服务器都会收到其他字符。
这是我将字符串“hans”发送到node.js服务器时收到的内容:
Buffer ac ed
Buffer 00 05 77 04 68 61 6e 73
as utf8 string:
??
♣w♦hans
以下是发送字符串的Java部分:
clientSocket = new Socket("xxx.xxx.xxx.xxx",9988);
ObjectOutputStream clientOut = new ObjectOutputStream(clientSocket.getOutputStream());
String sendString = "hans";
clientOut.write(sendString.getBytes());
clientOut.flush();
那么为什么会这样呢?
答案 0 :(得分:6)
您使用的ObjectOutputStream
用于发送序列化对象,必须由另一端的ObjectInputStream
解码。如果您只是在另一端发送字节和读取字节,那么您应该使用OutputStream
和InputStream
。