【发布时间】:2017-03-29 08:49:25
【问题描述】:
我正在尝试通过网络将数据从 Java 程序发送到 C 程序。 但我不知道使用哪种类型的数据。我尝试了一个字符。
这是我的 Java 代码:
DataOutputStream dos = new DataOutputStream(sock.getOutputStream());
char c = 'c';
dos.writeChar(c);
还有我的 C 代码:
char buffer[256];
bzero(buffer, 256);
read(newsockfd, buffer, 255);
printf("Here is the message: %c\n", buffer[0]);
“这是消息”不打印任何内容。不知道buffer[0]是空还是类型不兼容。
【问题讨论】:
-
是的,我可以使用 Json,但我只有一个 Int 所以发送。我认为仅此一点就太沉重和复杂了,不是吗?
-
您检查错误吗?
read返回什么? -
怎么样:OutputStream os = sock.getOutputStream(); os.write((byte) c);
-
读取没有错误,我检查过了
-
我认为 DataOutputSteam 是一个用于 Java 轻松通信的 Wrapper。与其他不同语言的程序通信,最好使用最原始的流。
标签: java c sockets networking