MFC-网络编程----总结.docx

MFC-网络编程----总结.docx

ID:57609768

大小:27.73 KB

页数:10页

时间:2020-08-28

MFC-网络编程----总结.docx_第1页
MFC-网络编程----总结.docx_第2页
MFC-网络编程----总结.docx_第3页
MFC-网络编程----总结.docx_第4页
MFC-网络编程----总结.docx_第5页
资源描述:

《MFC-网络编程----总结.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MFC网络编程--总结  基于TCP的socket编程  /*  服务器端程序流程:  1.加载套接字库WSAStartup  2.创建套接字socket  3.将我们创建的套接字,绑定到本机地址的某一端口上bind  4.为套接字设置监听模式,准备客户请求listen  5.等待客户请求到来。当请求到来,将接受连接请求,并返回一个新的对应于此次连接的套接字accept  6.用新返回的套接字和客户端进行通信send/recv  7.在通信结束后,关闭套接字closesocket  客户端程序流程:  1.

2、加载套接字库WSAStartup  2.创建套接字socket  3.向服务器发出请求连接connect  4.和服务器进行通信send/recv  5.在通信结束后,关闭套接字closesocket  */  服务器端代码:  #include  #include  #pragmacomment(lib,"Ws2_32.lib")  voidmain()  {  //加载套接字库,并进行套接字的版本协商  WORDwVersionRequested;//指定将要加

3、载的winsock库版本  WSADATAwsaData;//用于存储加载的winsock库版本信息  intresult;//用于检测WSAStartup函数运行结果  wVersionRequested=MAKEWORD(1,1);//设定版本  result=WSAStartup(wVersionRequested,&wsaData);  //函数WSAStartup调用成功返回0  //出错处理  if(result!=0)  {  return;  }  if(LOBYTE(wsaData.wVe

4、rsion)!=1

5、

6、HIBYTE(wsaData.wVersion)!=1)  {  WSACleanup();  return;  }  //创建套接字  SOCKETsock=socket(AF_INET,SOCK_STREAM,0);  //绑定套接字  SOCKADDR_INaddrInfo;//存储本地主机地址信息  addrInfo.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//本地主机地址  addrInfo.sin_port=htons(6000);//

7、端口号  addrInfo.sin_family=AF_INET;//地址族  bind(sock,(SOCKADDR*)&addrInfo,sizeof(SOCKADDR));  //设置套接字监听模式  listen(sock,5);  SOCKADDR_INaddrInfoClient;//存储客户端地址信息  intlen=sizeof(SOCKADDR);  while(true)  {  //等待客户请求到来,并返回用于通信的套接字  SOCKETsockConnect=accept(sock,

8、(SOCKADDR*)&addrInfoClient,&len);  //下面通过刚建立的套接字,来进行通信  //发送数据  charsendBuf[100];  sprintf(sendBuf,"这是服务器端,主机地址:%s",inet_ntoa(addrInfo.sin_addr));  send(sockConnect,sendBuf,strlen(sendBuf),0);  //接收数据  charrecvBuf[100];  recv(sockConnect,recvBuf,strlen(rec

9、vBuf),0);  //打印接收的数据  printf("%s",recvBuf);  closesocket(sockConnect);  }  }  客户端代码:  #include  #include  #pragmacomment(lib,"Ws2_32.lib")  voidmain()  {  //加载套接字库,并进行套接字的版本协商  WORDwVersionRequested;//指定将要加载的winsock库版本  WSADATAwsaDat

10、a;//用于存储加载的winsock库版本信息  intresult;//用于检测WSAStartup函数运行结果  wVersionRequested=MAKEWORD(1,1);//设定版本  result=WSAStartup(wVersionRequested,&wsaData);  //函数WSAStartup调用成功返回0  //出错处理  if(result!=0)  {  return;  }  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。