我遇到send和recv double / int从客户端到服务器和服务器到客户端的问题。 这一刻,我有:
客户端:
cin>>xp;
send( master,(char*)&xp,sizeof(xp),0);
服务器:
int valread, nr;
char * buffer;
valread = recv(s,(char *)&nr,sizeof(buffer),0);
它的工作,但当我从服务器发送到客户端时,我做错了。
我在服务器上:
int lol;
lol=5;
send(s, (char*)&lol, sizeof(lol), 0);
我想在客户端使用这个int:
bytesRecv = recv(master,(char*)&nr,sizeof(buffer),0);
我不知道为什么它不起作用:/当我在客户端上输入/打印这个int时它是0或9,2555 ...... 请帮忙:/
答案 0 :(得分:2)
您的sizeof(buffer)
错了 - 您应该发送并接收sizeof(int)
。
另外,请注意,如果您的服务器和客户端在内存中以不同顺序存储整数,则无效。their Endianness可能不同。