使用socket进行通信程序设计

使用socket进行通信程序设计

ID:6357314

大小:1.63 MB

页数:42页

时间:2018-01-11

使用socket进行通信程序设计_第1页
使用socket进行通信程序设计_第2页
使用socket进行通信程序设计_第3页
使用socket进行通信程序设计_第4页
使用socket进行通信程序设计_第5页
资源描述:

《使用socket进行通信程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、42Socket通信程序设计使用socket进行通信程序设计姓名:  学号:  专业:2015年10月30日42Socket通信程序设计引言:“一切皆Socket!”。这话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。当前是信息时代,网络的快速普及势不可挡,各种新兴应用也如雨后春笋般,层出不穷。利用socket通信拥有即时通信功能的网络应用——聊天室,也因其为用户提供了实时性对话的渠道,深受青睐。在本课程设计中,我个人选择C#语言实现了一个界面友好的网络聊天室,包括服务器端和客户端两个程序,可以支持多人进行文字聊天。基本原理:1、客户机/服务器模式在TCP/I

2、P网络中两个进程间相互作用的主机模式是客户机/服务器模式(Client/Servermodel)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:首先服务器方要先启动,并根据请示提供相应服务:(过程如下)①打开一个通信通道(端口)并告知本地主机,并在某一个公认地址上接收客户请求;②等待客户请求到达该端口;③接收到重复服务请求,处理该请求并发送应答信号;④返回第二步,等待另一客户请求;⑤关闭服务器。客户方:①打开一个通信通道,并连接到服务器所在主机的特定端口;②向服务器发送服务请求报文,等待并接收应答;继续提出请求

3、……③请求结束后关闭通信通道并终止。2、套接字套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。套接字可以根据通信性质分类,这种性质对于用户是可见的。应用程序一般仅在同一类的套接字间进行通信。不过只要底层的通信协议允许,不

4、同类型的套接字间也照样可以通信。套接字有两种不同的类型:流套接字和数据报套接字。套接字工作原理:要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。42Socket通信程序设计所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字

5、。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。所谓连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。3、C#Socket在C#中提供了两种网络服务,一种是Socket类,另一种是TcpListener(服务器),TcpClient(客户端);Socket类为网络通信提供了一套丰富的方法和属

6、性。Socket类允许您使用ProtocolType枚举中所列出的任何一种协议执行异步和同步数据传输。Microsoft.NetFramework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够适应Internet不

7、断扩展的需要。抛开ISO/OSI模型的7层构架,单从TCP/IP模型上的逻辑层面上看,.Net类可以视为包含3个层次:请求/响应层、应用协议层、传输层。WebReqeust和WebResponse代表了请求/响应层,支持Http、Tcp和Udp的类组成了应用协议层,而Socket类处于传输层。 传输层位于这个结构的最底层,当其上面的应用协议层和请求/响应层不能满足应用程序的特殊需要时,就需要使用这一层进行Socket套接字编程。而在.Net中,System.Net.Sockets

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

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

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