在一方面,我有一个Java客户端在其输出流中写入:
int a = 20;
dataout.writeInt(a);
dataout.flush();
从另一方面,我有一个C服务器监听连接:
int client = accept(...);
如何读取Java发送的int?
如果我有一台Java服务器,我可以轻松地写一下:
int a = dataIn.readInt();
如何在C中执行此操作?
感谢
答案 0 :(得分:1)
将其读入char缓冲区并使用atoi()
将字符串转换为int。
答案 1 :(得分:0)
你可以使用read函数,但是你必须小心从socket中使用sizeof(int)字符,然后你必须担心endianess。
答案 2 :(得分:0)
fscanf
应该有效:
fscanf(dataIn, "%d", &a);
纯文本规则:-) 请确保在刷新之前从源发送'\ n'(或不是数字的东西)。