c - 如何在 C 中创建用于读取套接字数据的缓冲区

标签 c sockets

使用C/C++套接字编程,以及“read(socket, buffer, BUFSIZE)”方法。 “缓冲区”到底是什么?我知道 char 和 byte 是一回事,但是字节数组中有多少个元素有关系吗?缓冲区是否需要能够保存整个消息直到空字符?

最佳答案

BUFSIZE 应该等于缓冲区的大小(以字节为单位)。当缓冲区已满时,read() 将停止读取。这是一个例子:

#define MY_BUFFER_SIZE 1024

char mybuffer[MY_BUFFER_SIZE];
int nBytes = read(sck, mybuffer, MY_BUFFER_SIZE);

关于c - 如何在 C 中创建用于读取套接字数据的缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/143123/

相关文章:

c++ - C++ 标准是否要求 C 链接函数为 `noexcept` ?

c++ - 这段代码的输出是什么?为什么?

C 中的字符验证

c - cygwin 和 eclipse 的 sockets.h 问题

java - 关闭 ServerSocket - 如何正确检查客户端套接字是否已关闭?

c - 如何在 C 中的字符串中查找字符串?

c - 根据用户输入打印星形

java - 从其他 Activity 向处理程序发送消息

sockets - 我可以接收多播数据包,但不能接收单播数据包

javascript - 如何通过 socketid 将 socket.io 套接字添加到房间?