下载此文档

socket图片文件传输示例.doc


文档分类:IT计算机 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
socket图片文件传输示例————————————————————————————————作者:————————————————————————————————日期: 从前在网上找过很多sock编程的资料,都很高深。。。。对于入门级的我来说,简单又不简陋的小例子更好一些,所以总结一下刚写的小例子,用select模型实现的jpg文件传输,并不完善,只作为今后的一个参考。代码经过调试,应该能用吧。。。。。服务器端:#ment(lib,"")#include<>#include<>#defineBUFLENsizeof(buf)intmain(){ WSADATAwsaData; SOCKADDR_INseraddr,cliaddr; SOCKETlistensocket,newconnection,tempsocket; ULONGsockmode; intsockok,totalsock=0; structfd_setfdwrite,fdread; charbuf[10],buf0[10]; union{ chara[4]; intb; }a,flag; ==0; intcliaddrlen=sizeof(cliaddr); FILE*fp; longcode; intn,he=0,m=0,k=0,b=0; char*p; if(WSAStartup(MAKEWORD(2,0),&wsaData)!=0) { printf("error1"); return-1;} if((listensocket=socket(,SOCK_STREAM,IPPROTO_TCP))==INVALID_SOCKET) { printf("error2"); return-1; } =; =htons(8889); =inet_addr(""); if(SOCKET_ERROR==bind(listensocket,(SOCKADDR*)&seraddr,sizeof(seraddr))) { printf("error3"); return-1; } if(SOCKET_ERROR==listen(listensocket,5)) { printf("error4"); return-1; } printf("waitask"); sockmode=1; if(SOCKET_ERROR==ioctlsocket(listensocket,FIONBIO,&sockmode)) { printf("erroronioctl"); return-1; } if((fp=fopen("","rb"))==NULL)//指定的文件是否存在{//指定文件不存在 printf("不能打开指定的文件!\n"); } fseek(fp,0,SEEK_END);//读写指针移动到文件结尾 k==ftell(fp); code=htonl(m);//返回当前读写指针的位置,即得到文件长度。 p=(char*)&k; while(1) { FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_SET(listensocket,&fdread); for(inti=0;i<totalsock;i++) { FD_SET(tempsocket,&fdread); FD_SET(tempsocket,&fdwrite); } if(SOCKET_ERROR==(sockok=select(NULL,&fdread,&fdwrite,NULL,NULL))) { printf("erroronselect"); return-1; } if(FD_ISSET(listensocket,&fdread)) { sockok--; if(INVALID_SOCKET==(newconnection=accept(listensocket,(SOCKADDR*)&cliaddr,&cliaddrlen))) { printf("error5"); return-1; } else { printf("come"); totalsock++; tempsocket=newconnection; } if(SOCKET_ERROR==ioctlsocket(newconnection,FIONBIO,&sockmode)) { printf("erroronioctl"); return-1; } } memset(buf,0,siz

socket图片文件传输示例 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ipod0c
  • 文件大小119 KB
  • 时间2019-09-25