gpt4 book ai didi

c - 如何使用 write() 套接字编程发送部分 char 数组

转载 作者:行者123 更新时间:2023-11-30 15:45:17 32 4
gpt4 key购买 nike

有人可以告诉我一种使用 write() 通过 TCP 仅发送字符数组的一部分的方法吗?我想发送前 255 个字节,然后作为另一个数据 block 发送接下来的 255 个字节等等/剩下的而不是整个数据变量,例如:

 n = write(newsockfd,data,strlen(data));

有办法做到这一点吗?

最佳答案

int len = strlen(data);
for (int i = 0; i < len; )
{
n = write(newsockfd, &data[i], min(len-i, 255));
if (n < 0) {
// error, do something ...
break;
}
i += n;
}

或者:

char *ptr = data;
int len = strlen(data);

while (len > 0)
{
n = write(newsockfd, ptr, min(len, 255));
if (n < 0) {
// error, do something ...
break;
}
ptr += n
len -= n;
}

关于c - 如何使用 write() 套接字编程发送部分 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19128911/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com