基于udp的客户与服务器通信程序

基于udp的客户与服务器通信程序

ID:23927481

大小:113.00 KB

页数:8页

时间:2018-11-11

基于udp的客户与服务器通信程序_第1页
基于udp的客户与服务器通信程序_第2页
基于udp的客户与服务器通信程序_第3页
基于udp的客户与服务器通信程序_第4页
基于udp的客户与服务器通信程序_第5页
资源描述:

《基于udp的客户与服务器通信程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验名称基于UDP的客户与服务器通信程序所属课程名称TCP/IP协议与网络编程实验时间2010/11/12实验地点信控系二机房学生姓名陈红梅实验器材及环境PC机、VisualC++6.0实验目的1.在C++环境中编写代码,调用WinsockAIP基本函数,实现一个基于UDP的客户/服务器通信程序。实验内容1.熟练掌握函数的调用及其编程;2.理解掌握基于UDP的客户/服务器通信程序;3.理解函数的WinsockAIP基本函数的调用、返回值的类型、函数功能等。实验步骤1、进入VisualC++6.02、创建一个空工程sy13、创建area.c文件4、流程

2、图否iRecv=recvfrom()调用失败输出调用失败开始确定端口号输出服务器WSAStartupsListen=SocketBind()是是是否否否否1isend=sendto()!=0调用成功Closesocket(saccept)Closesocket(saccept)结束==0!=0输出接收到的数据、IP地址、端口号==01、编写代码程序一:服务器端#include#include#include#defineDEFAULT_PORT5050#defineBUFFER_LENGT

3、H1024#pragmacomment(lib,"WS2_32.lib")voidmain(){intiPort=DEFAULT_PORT;WSADATAwsaData;SOCKETsSocket;intiLen,iRecv,iSend;structsockaddr_inser,cli;charsend_buf[]="Hollo!Iamaserver";charrecv_buf[BUFFER_LENGTH];printf("--------------------");printf("Serverwaiting");printf("---------

4、-----------");if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0){printf("环境初始化错误:");return;}sSocket=socket(AF_INET,SOCK_DGRAM,0);if(sSocket==INVALID_SOCKET){printf("socket()函数调用失败:",WSAGetLastError());return;}ser.sin_family=AF_INET;ser.sin_port=htons(iPort);ser.sin_addr.s_addr=htonl

5、(INADDR_ANY);if(bind(sSocket,(LPSOCKADDR)&ser,sizeof(ser))==SOCKET_ERROR){printf("bind()函数调用失败:",WSAGetLastError());return;}iLen=sizeof(cli);memset(recv_buf,0,sizeof(recv_buf));while(1){iRecv=recvfrom(sSocket,recv_buf,BUFFER_LENGTH,0,(SOCKADDR*)&cli,&iLen);if(iRecv==SOCKET_ER

6、ROR){printf("recvfrom()函数调用失败:",WSAGetLastError());break;}elseif(iRecv==0)break;else{printf("recvfrom():%d",recv_buf);printf("客户端的IP地址、端口号:%d",inet_ntoa(cli.sin_addr),ntohs(cli.sin_port));}iSend=sendto(sSocket,send_buf,sizeof(send_buf),0,(SOCKADDR*)&cli,sizeof(cli));if(iS

7、end==SOCKET_ERROR){printf("sendto()函数调用失败:",WSAGetLastError());break;}elseif(iSend==0)break;else{printf("sendto():调用成功!");}}closesocket(sSocket);WSACleanup();}流程图二:结束提示输入地址否输出调用失败开始带参main()定义变量WSAStartupSocket()Recvfrom()sendto()是是是是是否否否否WSAcleanup()Closesocket()Largc<2接收数据

8、初始化缓冲区程序二:客户机端程序#include#include#

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

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

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