udp及tcp通信程序的设计与实现实验报告

udp及tcp通信程序的设计与实现实验报告

ID:27750955

大小:600.92 KB

页数:19页

时间:2018-12-05

udp及tcp通信程序的设计与实现实验报告_第1页
udp及tcp通信程序的设计与实现实验报告_第2页
udp及tcp通信程序的设计与实现实验报告_第3页
udp及tcp通信程序的设计与实现实验报告_第4页
udp及tcp通信程序的设计与实现实验报告_第5页
资源描述:

《udp及tcp通信程序的设计与实现实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验报告课程计算机网络(双语)(课程设计)实验名称UDP及TCP通信程序的设计与实现专业班级姓名学号2013年5月30日目录实验目的和内容11毛验iW1刻卵竟2程序的逻辑框图2UDP通信程序的逻辑框图:2TCP通信程序的逻辑框图:3程序源代码(数据结构的描述、核心算法)41.TCP通信程序源代码42.TCP通信程序数据结构的描述73.TCP通信程序的核心算法74.UDP通信程序源代码85.UDP通信程序数据结构的描述116.UDP通信程序的核心算法12实验数据、结果分析13TCP通信程序实验结果分析13UDP通信程序实验结果分析14银吉16实验目的和内容实验目的掌握Win32

2、平台下,使用winsockAPI来实现UDP通信程序和TCP通信程序。实验内容1.实现控制台模式卜,在单机上基于UDP的聊天程序;2.实现控制台模式下,在单机上基于TCP的聊天程序;3.上述两个程序,最简单的实现方式是:一方发送、另一方接收、交替进行;1.提交上述2个程序的源程序,程序代码有充分的注释,并填写实验报告,实验报告的主要内界为说明程序没计的思路,程序代码的流程。实验环境在win7系统下,visualstudio2008环境下的Win32平台下程序的逻辑框图UDP通信程序的逻辑框图:Client战:ServeiM;TCP通信程序的逻辑框图:Server端:程序源代码

3、(数据结构的描述、核心算法)1.TCP通信程序源代码Client端:#include"stdafx.h"#include#include#include〈string.h〉#include//初始化函数,初始化版本号intInitSock(BYTEminorVer=2,BYTEmajorVer=2){WSADATAwsaData;WORDsockVersion=MAKEWORD(minorVer,majorVer);if(WSAStartup(sockVersion,&wsaData)!=0)exit(O);retu

4、rn1;}intmain(){charrbuf[256];charszText[256];InitSock();//创建socket,第一个参数表示用IP协议,第二个参数表示用TCP传输,第三个不大清楚SOCKETsListen=socket(AF_INET,SOCK.STREAM,1PPROTO_TCP);//判断socket是否创建成功if(sListen==INVALID_SOCKET){printf("Failedsocket()");return0;}//用于存储IP地址和端U号的变量sockaddr_insin;sin.sin_family=AFJNET;//

5、IP协议sin.sin_port=htons(4567);//端口号sin.sin_addr.S_un.S_addr=INADDR_ANY;//接收任何IP的连接//绑定函数,将socket与IP地址和端口绑定在一块if(bind(sListen,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR){printfC'Failedbind()H);return0;}//幵始监听,第二个参数表示最大连接数if(listen(sListen,2)==SOCKET—ERROR){printf(uFailedlisten()");return

6、0;}//定义一个新的变量sockaddr_inremoteAddr;intnAddrLen=sizeof(remoteAddr);//用于存储连接客户端的socketSOCKETsClient;//accept函数会阻塞,直到等到有socket连接服务器为止,才继续往后执行,并将客户端的IP和端口号存在remoteAddr中sClient=accept(sListen,(SOCKADDR*)&remoteAddr,&nAddrLen);printf(u接收到一个连接。/osrH,inet_ntoa(remoteAddr.sin_addr));while(TRUE){i

7、f(sClient==INVALID_SOCKET){printff’Failedaccept()");continue;}printf("send:");scanf("%su,szText);//发送函数,往sClient这个socket屮发送szTextsend(sClient,szText,strlen(szText),0);//recv为阻塞函数,等待sClient巾传来数据intnRecv=recv(sClient,rbuf,256,0);if(nRecv〉0){rbuf[nRecv]=’

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

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

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