有没有更好的方法通过套接字发送浮点数据? 以下是发送数据的实现。
static float theOUTPUT[THE_FLOAT_DATA_BUFFER_SIZE];
int size = 2048;
int tb = 0;
int numbytes = 0;
int cs = 256;
unsigned char* buf = (unsigned char*)theOUTPUT;
while(tb < size) {
numbytes = send(sock, buf, cs, 0);
printf("bytes sent: %i\n", numbytes);
tb+=numbytes;
buf+=numbytes;
if(tb >= size) {
break;
}
}
答案 0 :(得分:0)
在此代码中,无法保证size
与sizeof(theOUTPUT)
匹配。如果它更少,那么你将丢失数据。
答案 1 :(得分:0)
感谢您的回答。这不是一个很好的问题。我发现了这个问题,发现我发送的数据比我在socket上发送的数据要多。这破坏了数据。
@ user470379 C编程语言标准与浮点数无关,但我认为这就是你的意思。 如果您构建服务器和客户端,那么无论编程语言如何,您都可以控制对数据进行编码的方式。