【发布时间】:2026-02-16 01:05:01
【问题描述】:
我已经用java编写了服务器套接字代码。相关行是:
byte[] bRecieved = new byte[440] ;
1int i =in.read(bRecieved);
Arrays.toString(bRecieved);
如果客户端是用java编写的,这很好用
byte[] bSend = {1,2,3,4};
DataOutputStream out =
new DataOutputStream(outToServer);
out.write(bSend);
但是客户端是用 C++ 编写的。发送代码为:
if (client.connect(serverIP, serverPort)) {
String msg="Hello Server";//Message to be sent
client.println(msg);//send the message
}
我的问题是,我如何与需要字节的 java 服务器通信?连接成功并在服务器控制台上打印字节。但它们不是“Hello Server”。我是否必须遍历字节并将它们解释为字符? Chars 和 int 在 C++ 中是 1 个字节。
如果可能,请澄清这种情况。 提前致谢!
【问题讨论】:
-
C++ 程序需要刷新它的缓冲区。阅读有关行缓冲和刷新的信息。
-
另外,
int在 C++ 中不是一个字节。它实际上是特定于平台的,尽管您可能要接触的几乎所有东西都有一个int作为 4 个字节。