我的是包含的#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协议的代码例子。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)