gpt4 book ai didi

c - 通过 C 套接字流式传输 youtube

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:17 28 4
gpt4 key购买 nike

我正在 linux 平台上用 C 语言设计一个代理服务器,但我的服务器无法流式传输 youtube 视频,这让我很困惑。图片 (jpeg)、文本、链接、flash、mp3 和文件都可以使用,但您无法流式传输 youtube。它给出错误“发生错误,请稍后再试”。 关于我错过的地方的任何建议。我是否必须发出 UDP 请求(这会导致重新设计问题)????

最佳答案

您的代码片段:

while((flag = recv(s, buf, BUFSIZ, 0)) > 0) {
printf("%s\n",buf);
send(client,buf,flag,0);
}

send() 不能保证一次发送整个缓冲区。您需要将其替换为:

int count;
while((count = recv(s, buf, BUFSIZ, 0)) > 0) {
int offset = 0;
while(offset < count) {
int sent = send(client, buf + offset, count - offset, 0);
if(sent <= 0) break;
offset += sent;
}
}

(请注意,我已将 flag 替换为 count。)

关于c - 通过 C 套接字流式传输 youtube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8029413/

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