华北电力大学 tcp实验报告

华北电力大学 tcp实验报告

ID:3665004

大小:219.50 KB

页数:10页

时间:2017-11-22

华北电力大学 tcp实验报告_第1页
华北电力大学 tcp实验报告_第2页
华北电力大学 tcp实验报告_第3页
华北电力大学 tcp实验报告_第4页
华北电力大学 tcp实验报告_第5页
资源描述:

《华北电力大学 tcp实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、华北电力大学实验报告华北电力大学实验报告

2、

3、实验名称基于Winsock的多客户并发服务程序的实现课程名称TCP/IP实验原理

4、

5、专业班级:网络1002学生姓名:学号:成绩:指导教师:李丽芬实验日期:2013.5第页共页华北电力大学实验报告一、实验目的:熟悉socket的操作,掌握异步socket的使用方法,理解多线程的概念,初步掌握线程的编程方法。二、实验要求:基于Winsock分别编写客户端和服务器端程序,服务器端进行监听,接到客户的请求后服务器与客户建立关联,采用流套接字(TCP)或数据报套接字(UDP)均可。服务器端接受客户传送来的数据并将其发回给客

6、户端。服务器端实现接受多个客户的服务请求并为它们服务,接受客户传送来的数据并将数据分别发回给客户端,服务器端和客户端的数据通信采用的是异步方式。三、实验流程图:服务器端顺序:1.加载套接字库2.创建套接字(socket)3.将套接字绑定到一个本地地址和端口上(bind)4.将套接字设为监听模式,准备接收客户请求(listen)5.等待客户请求的到来;当请求带来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)6.用返回的套接字和客户端进行通信(send/recv)7.返回,等待另一个客户请求8.关闭套接字(closesocket)第页共页

7、华北电力大学实验报告客户端程序:1.加载套接字库2.创建套接字(socket)3.向服务器发送连接请求(connect)4.和服务器端进行通信(send/receive)5.关闭套接字(closesocket)第页共页华北电力大学实验报告四、程序中主要函数:创建基于TCP协议的CS程序的Server端所涉及的相关函数说明:intWSAStartup(WORDwVersionRequested,LPWSADATAlpWSAData):作用是加载套接,字库和进行套接字库的版本协商a.参数wVersionRequested:用于指定准备加载的Winsock库的版

8、本,高位字节指定所需要的Winsock库的副版本,低位字节则是主版本,可用MAKEWORD(X,Y)(其中,x为高位字节,y为低位字节)方便获得wVersionRequested的正确值。b.参数lpWSAData:指向WSADATA结构的指针,WSAStartup用其加载的库版本有关的信息填在这个结构中。2.SOCKETsocket(intaf,inttype,intprotocol):a.参数af指定地址族,对于TCP/IP协议的套接字,它只能是AF_INET。第页共页华北电力大学实验报告b.参数type指定Socket类型,对于1.1版本的Socke

9、t,它只支持两种类型的套接字,SOCK_STREAM指定产生流式套接字,SOCK_DGRAM产生数据报套接字。c.参数protocol与特定的地址家族相关的协议,如果指定为0,那么他就会根据地址格式和套接字类别,自动为你选择一个合适的协议。这是推荐使用的一种选择协议的方式。3.intbind(SOCKETs,conststructsockaddrFAR*name,intnamelen):a.第一个参数指定要绑定的套接字,第二个参数指定该套接字的本地地址信息,是指向sockaddr结构的指针变量,由于该地址结构是为了所有的地址家族准备使用的,这个结构可能(通

10、常会)随使用的网络协议不同而不同,所以,要用第三个参数指定该地址结构的长度。4.intlisten(SOCKETs,intbacklog):将套接字设置为监听模式,其中第二个参数设置等待请求连接的最大的值,即如果设置为n,则前n个请求会放置在系统的请求连接队列中,应用程序会依次对这些请求进行服务,但第n+1个连接请求则会被拒绝。5.SOCKETaccept(SOCKETs,conststructsockaddrFAR*addr,intFAR*addrlen):从客户端接收请求,并创建连接,如果连接成功,则会返回一个当前成功建立连接的套接字,该套接字不是上面

11、创建的监听套接字,而是仅仅适用于当前的一个请求连接,如果建立连接失败,则返回值是INVALID_SOCKET,并且可以适用WSAGetLastError()函数得到相关的失败信息。第页共页华北电力大学实验报告6.send函数:向客户端发送指定信息7.recv函数:得到从客户端传递过来的信息8.closesocket(SOCKETs):将指定的套接字关闭,从而释放资源9.WSACleanup():终止对winsocket库的使用创建基于TCP协议的CS程序的Client端所涉及的相关函数说明(按使用的先后顺序排列):1.intWSAStartup(WORDw

12、VersionRequested,LPWSADATAlpWSADa

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

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

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