网站大量收购独家精品文档,联系QQ:2885784924

计算机网络课程设计报告1329803314.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机网络课程设计报告1329803314

计算机网络 课程设计报告 学号:0705010225 姓名:李海波 指导老师:刘桂开 完成日期:2010.9.14 课程设计题目:网络聊天程序的设计与实现 了解Socket通信的原理,在此基础上编写一个聊天程序。 课程设计内容 1、TCP /IP协议与Winsock网络程序接口的关系 WinSock不是一种网络协议,它只是一个网络编程接口,也就是说,它不是协议,但是它可以访问很多种网络协议,它实质上是一些协议的封装。现在的Winsock已经基本上实现了与协议无关。使用Winsock可以调用多种协议的功能。实际上Winsock是TCP/IP协议的一种封装,可以通过调用Winsock的接口函数来调用TCP/IP的各种功能,例如可以使用Wincock的接口函数Send()来调用TCP/IP的发送数据功能。 2、TCP/IP协议的相关知识 TCP/IP协议包含的范围非常的广泛,他是一种四层协议,包含了各种硬件、软件需求的定义。TCP/IP协议确切的说法应该是TCP/UDP/IP协议。UDP协议,是一种保护消息边界的,不保障可靠数据的传输。TCP协议,是一种流传输的协议。它提供可靠的、有序的、双向的、面相连的传输。 保护消息边界,就是指传输协议把数据当做一条独立的消息在网上传输,接收端只能接受独立的消息。也就是说存在保护消息边界,接收端一次只能接收发送端发出的一个数据包。 而面向流则是指无保护消息保护边界的,如果发送端连续发送数据,接收端有可能在一次接收动作中,会接受两个或者更多的数据包。 UDP协议的保护消息边界使得每一个消息都是独立的。而流传输,却把数据当做一串数据流,它不认为数据是一个一个消息。所以有很多人在使用TCP协议通讯的时候,并不清楚TCP是基于流的传输,当连续发送数据的时候,他们时常会认识TCP会丢包。其实不然,因为当他们使用的缓冲区足够大时,他们有可能会一次接收到两个甚至更多的数据包,而很多人往往会忽视这一点,只分析检查了一个数据包,而已经接收的其他数据包却被忽略了 3、Winsock的函数 Int WSAStarup(WORD wVersionRequested,LPWSADATA lpWsaData); WversiongRequested是我们要求使用的Winsock的版本。这个函数可以初始化Winsock。 SOCKET socket(int a,int tupe,int protocol); 创建套接字函数。套接字是Winsock通讯的核心。Winsock通讯的所有数据传输,都是通过套接字来完成的,套接字包含了两个信息,一个是IP地址,一个是PORT端口号,使用这两个信息,就可以通过绑定函数来实现这种联系。 Int bind(SOCKET s,const struct sockaddr FAR*name,int namelen); 绑定函数。通过绑定函数来实现把自己的通讯地址跟创建的套接字创建联系。函数中的 Struct sockaddr_in{ Stuct sockaddr_in; Short sin_family; u_shortsin_port; struct in_addrsin_addr; char sin_sero[8]; } 包含了需要建立连接的本地地址,包括地址族、IP和端口信息。Sin_family字段必须把它设为AF_INET,这是告诉Winsock使用的是地址族。Sin——prot就是要用来通讯的端口号。sin_addr就是要用来通讯的IP地址信息。 Int listen(SOCKET s,int backlog); 监听函数把套接字转成监听模式。 Int accept(SOCKET s,struct sockaddr FAR*addr,int FAR* addrlen); 用于接收客户端的请求。 Int connect(SOCKET s,const struct sockaddr FAR*name,int namelen); 用于连接客户端。 int send(SOCKET s,char FAR* buf,int len,int flags); int recv(SOCKET s,char FAR* buf,int len,int fags); 用来接受和发送数据,因为TCP连接时双向的。 Int shutsown(SOCKET s,int how); 关闭套接字的指定功能。 Int closeSocket(SOCKET s); 用来关闭套接字句柄。 Int函数如果调用失败的话,返回的都是SOCKET_ERROR。 课程设计步骤 sockets(套接字)编程有三种,流式套接字,数据报套接字,原始套接字;基于TC

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档