socket网络课设报告.doc
《socket网络课设报告.doc》由会员分享,可在线阅读,更多相关《socket网络课设报告.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于C/S结构的套接字程序设计 -通过socket实现服务端功能学 院: 信息技术工程学院 _专 业: 计算机科学与技术 _班 级: *班 _姓 名: 陈* 学 号: 指导老师: * 开课时间:2014年1月12日到1月16日 摘 要基于C/S结构的套接字程序设计,采用了Client/Server模型, 程序基于TCP协议,通过socket接口来实现的。服务器端的一个端口用来监听对服务的请求,另外有一个临时端口用来给客户端发送数据,当客户端向该地址提出连接请求时,服务器端会对它的请求做出相应的反应。当连接成功之后,客户端就可以向服务器端发送数据或接收来自服务器的的数据。在传输过程中如果出现错误
2、会返回错误信息,并对该信息做出诊断。引 言1、目的及要求 (1)目的和意义通过编程了解C/S结构的网络通信模型;掌握基于C/S结构的Windows Socket TCP的程序设计方法。(2)基本要求按照C/S模型编写两个程序。一个为客户端程序,另一是服务器端程序;对于C/S两端都应输出必要的日志、出错或诊断信息。2、研究设想 能够实现当客户端向服务器端发送请求时,通过TCP协议(传输控制协议)服务器端能够响应,并能与客户端进行通信。3、相关理论 TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCP协议在网络层IP协议的基
3、础上,向应用层用户进程提供可靠地全双工的数据流传输。并且通过创建的流式套接字实现服务端与客户端的数据传送。流式套接字(SOCK-STREAM):该类套接字提供了面向连接的、可靠的、数据无错并且无重复的数据发送服务。而且发送的数据是按顺序接收的。所有利用该套接字进行传递的数据均被视为连续的字节流的并且无长度限制。这对数据的稳定性、正确性和发送/接受顺序要求严格的应用十分适用,TCP使用该类接口。4、预期结果通过运用套接字,实现服务器端与客户端的数据传送。5、关键字流式套接字;TCP/IP协议;服务器/客户端正 文1、理论基础应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并
4、发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字的接口,区分不同应用程序进程间的网络通信和连接。网络化的应用程序在开始任何通讯之前都必需要创建套接字。套接字可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入套接字中,该套接字将这段信息发送给另外一个套接字中,使这段信息能传送到其他程序中。套接字,是支持TCP/IP的网络通信的基本操作单元,可以看作是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成
5、通信过程。流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP协议。2、设计方法及思路 客户端与服务器建立连接,连接是通过申请的套接字实现的,客户打开一个套接字并把它约束在一个端口上如果成功就相当于建立一个虚拟文件以后就可以在虚拟文件上写数据并通过网络向外传送,完成连接后就可以通信了。客户机向服务器发送请求,打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求操作。服务器在处理完客户的请求之后,要向客户机发送响应消息。客户通过关闭套接字来结束TCP/I
6、P对话。当使用TCP/IP协议发送客户服务器服务程序时,服务器需要等待任意数量客户端的连接,以便为他们提供服务。客户端连接服务器时,必须先知道服务器的名称。在TCP/IP中,就是服务器的IP地址和端口号。bind()函数实现将服务器绑定到一个已知的名字上的功能。接下来要将服务器套接字设置为监听状态,这是通过listen()函数完成的。在监听状态下,如果客户端向服务器发起连接请求,服务器通过调用accept()函数来接受该连接请求。服务器与客户端完成连接后,就可以进行数据通信了。对于客户端来说,首先调用connect()函数向服务器发出连接请求。如果服务器接受了该请求接下来就可以与服务器通信了3
7、、编程方法TCP/IP流式套接字的编程步骤(客户端程序)及流程1) 加载套接字库2) 创建套接字(socket)3) 向服务器发出连接请求(connect)4) 和服务器端进行通信5) 关闭套接字6) 流程4、主要内容及对其分析客户端源程序using System;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;using System.Windows.Forms;namespace Socket public partial class Server : Form publi
8、c Server() InitializeComponent(); TextBox.CheckForIllegalCrossThreadCalls = false; private void ErrShow(string str, Exception ex) SetShow(-错误-rn); SetShow(ex.Message + rn); SetShow(-rn); private void SetShow(string str) txtShow.AppendText(str+rn); #region 服务端部分 /负责监听端口 System.Net.Sockets.Socket well
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- socket 网络 报告
限制150内