再会,
我遇到了一些麻烦。我正在尝试通过网络将字符数组发送到服务器。
这是我的代码:
char[] arr= {3,4};
public void sendMessage(String message){
if (out != null && !out.checkError()) {
out.print(arr);
out.flush();
}
}
当我运行它时,lanshark 检测到它收到了一个包含 2 个字节数据的数据包。好的,一切都很好。
现在当我运行这个:
char[] arr= {3,160}; // notice 160 *****
public void sendMessage(String message){
if (out != null && !out.checkError()) {
out.print(arr);
out.flush();
}
}
lanshark 说这个数据包有 3 个字节的数据?确切的数据是:
03 c2 a0
现在为什么要在其中添加c2?我知道这与我的 char 大于 127 的事实有关。但我需要发送这个 160 的值。
请你帮帮我。我需要使用其他类型的数据,还是以不同的方式发送?我知道你可以在 C 中做到这一点。我如何在 java 中做到这一点?
这是我的输出对象的代码:
PrintWriter out;
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
谢谢