gpt4 book ai didi

java - 客户端套接字接受的数据与服务器套接字不同

转载 作者:行者123 更新时间:2023-12-02 12:14:59 25 4
gpt4 key购买 nike

我正在尝试在 Java 中模拟服务器-客户端套接字连接。我有该代码:

private static Socket clientSocket;
private static PrintWriter pw;
private static Socket serverSocket;
private static final int PORT_NUMBER = 1146;

public static void init() throws IOException {
ServerSocket sSocket = new ServerSocket(PORT_NUMBER);
clientSocket = new Socket("localhost", PORT_NUMBER);

serverSocket = sSocket.accept();
OutputStream os = serverSocket.getOutputStream();
pw = new PrintWriter(os, true);
}

private void writePackage(int[] dataPackage) {
for (int packageByte : dataPackage) {
pw.write(packageByte);
}
pw.flush();

try {
InputStream is = clientSocket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
}

我的数据包有十六进制值。这是一个127长度的数组。当我检查客户端输入流时,我发现只有前 26 个元素是我写入服务器输出流的元素。其他人则不同。即第 26 个元素是 0xC1,十进制数是 193,但客户端输入流接受的十进制数是 196

我想念什么?

最佳答案

您应该使用 OutputStream 来写入二进制数据,而不是 PrintWriter

关于java - 客户端套接字接受的数据与服务器套接字不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46258034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com