在文件下载时报错“socket write error”怎么办

在文件下载时报错“socket write error”怎么办,第1张

我的是包含的#include <sys/socketh>,参考一下吧

<udp_clientc>

#include <stdioh>

#include <stdlibh>

#include <stringh>

#include <unistdh>

#include <sys/socketh>

#include <arpa/ineth>

int main(void)

{

int sfd; char buf[1024]; int n, i;

struct sockaddr_in serv_addr, cli_addr;

socklen_t len;

sfd = socket(AF_INET, SOCK_DGRAM, 0);

memset(&serv_addr, 0, sizeof(serv_addr));

serv_addrsin_family = AF_INET;

serv_addrsin_port = htons(8000);

inet_pton(AF_INET, "192168036", &serv_addrsin_addrs_addr);

while(1) {

if(fgets(buf, 1024, stdin) == NULL)

break;

sendto(sfd, buf, strlen(buf), 0, (struct sockaddr )&serv_addr, sizeof(serv_addr));

n = recvfrom(sfd, buf, 1024, 0, NULL, NULL);

write(STDOUT_FILENO, buf, n);

}

close(sfd);

return 0;

}

<udp_serverc>

#include <stdioh>

#include <stdlibh>

#include <stringh>

#include <sys/socketh>

#include <arpa/ineth>

int main(void)

{

int sfd; char buf[1024]; int n, i;

struct sockaddr_in serv_addr, cli_addr;

socklen_t len;

sfd = socket(AF_INET, SOCK_DGRAM, 0);

memset(&serv_addr, 0, sizeof(serv_addr));

serv_addrsin_family = AF_INET;

serv_addrsin_port = htons(8000);

serv_addrsin_addrs_addr = htonl(INADDR_ANY);

bind(sfd, (struct sockaddr )&serv_addr, sizeof(serv_addr));

while(1) {

len = sizeof(cli_addr);

n = recvfrom(sfd, buf, 1024, 0, (struct sockaddr )&cli_addr, &len);

for(i = 0; i < n; i++)

buf[i] = toupper(buf[i]);

sendto(sfd, buf, n, 0, (struct sockaddr )&cli_addr, len);

}

close(sfd);

return 0;

}

请求采纳,谢谢!

以上就是关于在文件下载时报错“socket write error”怎么办全部的内容,包括:在文件下载时报错“socket write error”怎么办、关于socket、谁能给个C语言socket 通信,用UDP协议的代码例子。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10099449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存