课程设计--基于CS结构的套接字程序设计(TCP).docx

课程设计--基于CS结构的套接字程序设计(TCP).docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络课程设计 — — 基于C/S 结构的套接字程序设计(TCP) 学院:信息技术工程学院 班级:计科1011班 姓名:周玲玲 学号: 02210101140 指导老师:黄彦 1 目录 1、 引 言 1 课题目的及要求 2 研究设想 2 相关理论 2 预期结果 2 2、 关 键 词 2 3、 正 文 3 理论基础 3 设计方法及思路 3 编程方法 4 主要内容及其分析 6 实验结果及对其讨论 9 4、 结 论 10 核心 10 难点 10 问题 10 不足及对其改进 10 5、 致 谢 11 6、参 考 文 献 11 2 引言 基于C/S 结构的套接字程序设计 (TCP) 1、 目的及要求 (1)目的和意义 通过编程了解C/S 结构的网络通信模型; 掌握基于C/S 结构的Windows Socket TCP 的程序设计方法。 (2)基本要求 按照C/S 模型编写两个程序。 一个为客户端程序,另一是服务器端程序; 对于C/S 两端都应输出必要的日志、出错或诊断信息。 (3)小组人数:2 2、研究设想 能够实现当客户端向服务器端发送请求时,服务器端能够向客户端传送数 据。 3、相关理论 TCP 是一种面向链接的,可靠的传输协议。 TCP 协议在网络层IP 协议的基 础上,向应用层用户进程提供可靠地全双工的数据流传输。并且通过创建的流式 套接字实现服务器端与客户端的数据传送。 4、预期结果 实现服务器端与客户端的数据传送。 关键词 流式套接字; TCP/IP; 服务器/客户端; 3 正文 1、理论基础 应用层通过传输层进行数据通信时, TCP 会遇到同时为多个应用程序进程 提供并发服务的问题。多个TCP 连接或多个应用程序进程可能需要通过同一个 TCP 协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操 作系统为应用程序与TCP/IP 协议交互提供了称为套接字(Socket)的接口,区 分不同应用程序进程间的网络通信和连接。网络化的应用程序在开始任何通讯之 前都必需要创建套接字。 Socket 可以看成在两个程序进行通讯连接中的一个端点, 一个程序将一段 信息写入 Socket 中,该Socket 将这段信息发送给另外一个 Socket 中,使这段 信息能传送到其他程序中。 套接字, 是支持TCP/IP 的网络通信的基本操作单元,可以看做是不同主机 之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接 字中的相关函数来完成通信过程。 流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够 实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据 服务,原因在于其使用了传输控制协议,即 TCP(The Transmission Control Protocol)协议。 2、 设计方法及思路 客户机与服务器建立连接,连接是通过申请的套接字实现的客户打开一个套 接字并把它约束在一个端口上如果成功就相当于建立一个虚拟文件以后就可以 在虚拟文件上写数据并通过网络向外传送,完成连接后就可以通信了。客户机向 服务器发送请求,打开一个连接后,客户机把请求消息送到服务器的停留端口上, 完成提出请操作。服务器在处理完客户的请求之后,要向客户机发送响应消息。 客户和服务器双方都可以通过关闭套接字来结束TCP/IP 对话。 当使用TCP/IP 协议一发客户服务器服务程序时,服务器需要等待任意数量 客户端的连接,以便以他们提供服务。客户端连接服务器时,必须先知道服务器 的名称。在 TCP/IP 中,就是服务器的IP 地址和端口号。 bind()函数实现将服务 器绑定到一个已知的名字上的功能。接下来要将服务器套接字设置为监听状态, 这是通过 listen()函数完成的。在监听状态下,如果客户端向服务器发起连接请 求,服务器通过调用accept()函数来接受该接连请求。服务器与客户端完成连接 后,就可以进行数据通信了。 对客户端来说,首先调用 connect( )函数向服务器发出连接请求。如果服务 器接受了该请求,接下来就可以与服务器通信了。 开发套接字应用程序时,首先应进行Windows Sockets 的初始化,加载 Windows Sockets的实现,然后创建套接字,对TCP 套接字来说,需要在socket() 函数或都 WSASocket() 函数中指明 SOCK STREAM 客户端通信结束时,关闭套接字,释放Windows 套接字类型。当服务器和 Sockets 的实现。 流程如下:

文档评论(0)

159****7880 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档