我的问题是我有一台运行在Java上的服务器和一台运行在C上的客户端。将数据从Java发送到C根本不是问题,这非常好。但是当我尝试从C写入Java时,TCP消息不会到达那里直到我终止C程序(Ctrl + C),然后我可以在我的Java程序中看到该消息。
我试图冲洗stdout和stdin,但这也不起作用。
这是我应该写入Javaclient的c代码:
void *sendToGUI(struct SocketStruct *sockServer){
char *msg = "Try to send to Java";
int len, bytes_sent;
len = strlen(msg);
write(sockServer->javaSocket, msg, len);
}
此方法在线程中运行,接收方法也在线程中运行。虽然,正如我所说,接收消息没有问题。
任何人都很好地想到它会是什么?
提前致谢!
答案 0 :(得分:1)
我怀疑Java代码是在阅读行,而你不是在发送行。在邮件中添加行终止符。