socket传输(socket传输).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
socket传输(socket传输)

socket传输(socket传输) / *复制到剪贴板* * / * * / file_name /服务器。 #包括系统/插座。” #包括字符串。” #包括达到/。” #包括 stdio. h #包括程序。” #包括 fcntl。” #包括系统/ stat.h #包括 unistd。” #包括错误。” #包括系统/选择。” #包括系统/时间。” #包括 unistd。” / / #包括系统/型。” #定义serv_port 3500 #定义max_size 1024 * 40 无效recvudp(char *的名字,int sockfd) { int = 0,FD = 0; mode_t fdmode =(s_irusr | s_iwusr | s_irgrp | s_iroth); 煤焦网[ max_size ]; fd_set rdset; 当前电视结构; int异常,宽度; int i; FD =开放(名称、o_rdwr | o_creat | o_append,fdmode); 如果(- 1 = FD) { printf(“打开文件%s错误:%n”,名称、strerror(errno)); 出口(- 1); } 对于(i = 0;;i +) { tv.tv_sec = 1; tv.tv_usec = 0; fd_zero(与rdset); fd_set(sockfd,与rdset); ret =选择(sockfd + 1,与rdset,零,零,和电视); 如果(- 1 = RET) { printf(“选择错误%s \n”、strerror(errno)); 出口(- 1); } 否则如果(RET = 0) { printf(“选择超时,继续圈\n”); 继续; } 如果(fd_isset(sockfd,与rdset)) { memset(也就是,0,max_size); 异常=读(sockfd,最大试验安全间隙,max_size); 如果(异常 = 0) { printf(“读取错误%s \n”、strerror(errno)); 出口(- 1); } 如果(!strcmp(也就是,“结束”)) { printf(“接收端。\n”); 打破; } 宽度=写(FD,最大试验安全间隙,异常); 如果(宽度!=异常) { printf(“写错误%s \n”、strerror(errno)); 出口(- 1); } } printf(“%d次写\n”,我); } 近距离(FD); } int main(int argc、argv char * [ ]) { 国际sockfd; int r; 结构sockaddr_in servaddr; sockfd =插座(af_inet,sock_dgram,0); bzero(与servaddr,sizeof(servaddr)); servaddr.sin_family = af_inet; servaddr.sin_addr.s_addr = htonl(inaddr_any); servaddr.sin_port = htons(serv_port); 如果(绑定(sockfd,(struct sockaddr *) servaddr,sizeof(servaddr))= = 1) { perror(“绑定错误”); 出口(- 1); } R = fcntl(sockfd,f_getfl,0); fcntl(sockfd,f_setfl,研发~ o_nonblock); recvudp(argv [ 1 ],sockfd); 返回0; } 客户* / * * / /客户192.168.190.129要传输的文件名。 #包括系统/插座。” #包括字符串。” #包括达到/。” #包括 stdio. h #包括程序。” #包括 fcntl。” #包括系统/ stat.h #包括 unistd。” #包括错误。” #包括系统/选择。” #包括系统/时间。” #包括 unistd。” #包括 ARPA / INET。” #包括系统/ SYSINFO。” / / #包括系统/类型。” #定义serv_port 3500 #定义max_size 1024 * 40 无效connectudp(char *的名字,int sockfd,struct sockaddr * pservaddr,socklen_t servlen) { 中字符[ max_size ]; fd_set wrset; 当前电视结构; int异常,宽度; int fd; int返回; int i; 如果(连接(sockfd,(struct sockaddr *)pservaddr,servlen)= = 1) {

您可能关注的文档

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档