【发布时间】:2017-01-15 15:32:06
【问题描述】:
我一直在使用这些read 和write 函数(由@alk 提供)。
问题是我不知道如何正确发送uint16_t data_size;。
这是我发送通用示例缓冲区的实际代码:
uint16_t data_size;
int retry_on_interrupt = 0;
char buffer[] = "Hello world!";
data_size = (uint16_t) sizeof(buffer);
/* sending data_size */
writen(socket, data_size, 2, retry_on_interrupt);
/* sending buffer */
writen(socket, buffer, sizeof(buffer);
这是我接收通用示例缓冲区的实际代码:
/* receiving data_size */
readn(socket, &data_size, 2);
/* receiving buffer */
readn(socket, buffer, data_size);
但这不起作用,我认为因为writen 需要const char *,而不是我使用uint16_t...
这些电话应该如何?谢谢。
【问题讨论】: