从服务器向客户端发送浮点数

Bis*_*Das 2 c sockets floating-point client

我正在使用TCP/IP套接字编程.我有一个浮点值存储在我的服务器代码中的变量ret_val中,我想发送给等待接收它的客户端.

我该怎么做?

Bri*_*new 5

如果您知道客户端和服务器都是相同的平台等,您可以简单地使用sizeof(float)来确定缓冲区大小并从浮动地址中复制那么多字节.

float number = 123.45;
send(sockfd, &number, sizeof(float),0);
Run Code Online (Sandbox Code Playgroud)

只要您的客户端/服务器是不同的平台/不同的语言等,您就必须开始担心如何对浮动进行可移植编码.但是对于一个简单的方法,上面的工作正常.


Ser*_*kov 5

float f = ...;
size_t float_size = sizeof(float);
const char* buffer = (const char *) &f;
send(mySocket, buffer, float_size, 0);
Run Code Online (Sandbox Code Playgroud)

如果服务器和客户端使用相同的平台,此代码将正常工作.如果平台不同,则必须明确协商消息大小和字节顺序.