- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C#_Socket网络编程2016-3-17》.ppt
C# Socket网络编程 C#下实现套接字(Sockets)编程的一些基本知识 套接字基本概念 套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。 套接字分类 套接字可以根据通信性质分类,这种性质对于用户是可见的。应用程序一般仅在同一类的套接字间进行通信。不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信。套接字有两种不同的类型:流套接字和数据报套接字。 套接字工作原理 套接字可以像Stream流一样被视为一个数据通道,这个通道架设在客户端应用程序和服务器端程序之间,数据的读取(接收)和写入(发送)均针对这个通道来进行。因此要通过网络进行通信,就至少需要一对套接字,其中一个运行于客户端,称之为客户端套接字( ClientSocket),另一个运行于服务器端,称之为服务器端套接字(ServerSocket)。当创建了这两个套接字对象之后,将这两个套接字连接起来就可以实现数据传送了。 。 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤: 服务器监听, 客户端请求 , 连接确认。 TcpClient类和TcpListener类 为了简化编程,.NET提供面向TCP编程的相关类,主要包括TcpClient和TcpListener。这些类比位于底层的Socket类提供了更高层次的抽象,它们封装TCP套接字的创建,不需要处理连接的细节。这样,在编写面向TCP的网络应用程序时便可以优先尝试使用TcpClient和TCPListener,而不是直接使用Socket。 1、TcpClient类 TcpClient类为TCP网络服务提供客户端连接,它构建于Socket类之上,以提供较高级别的TCP服务,即提供了通过网络连接、发送和接收数据的简单方法。用于在同步阻止模式下通过网络来连接、发送和接收流数据。另外,通过与NetworkStream对象的关联,使得用户可以通过流操作方式实现对网络连接状态下数据的发送和接收。 (1)创建TcpClient实例 TcpClient类有4种构造函数的重载形式,分别对应4种创建实例的方法。 1) TcpClient(),这种不带任何参数的构造函数将使用本机默认的IP地址并将使用默认的通信端口号0。当然,如果本机不止一个IP地址时将无法选择使用。 2) TcpClient(AddressFamily),使用指定的地址族初始化TcpClient类的新实例。 3) TcpClient (IPEndPoint),即使用本机IPEndPoint创建TcpClient的实例。其中IPEndPoint将网络端点表示为IP地址和端口号,用于指定在建立远程主机连接时所使用的本地网络接口IP地址和端口号。 4) TcpClient (String,lnt32),初始化TcpClient类的新实例并连接到指定主机上的指定端口。因此,在TcpClient的构造函数中,如果没有指定远程主机名和端口号,它只是用来实例化TcpClient.同时实现与本地IP地址和Port端口的绑定。 (2)与远程主机建立连接 如果在TcpClient的实例化过程中没有实现与远程主机的连接,则可以通过Connect方法来实现与指定远程主机的连接。Connect方法使用指定的主机名和端口号将客户端连接到远程主机,其使用方法如下。 1) Connect (IPEndPoint),使用指定的远程网络终结点将客户端连接到远程TCP主机。 2) Connect (IPAddress),使用指定的IP地址和端口号将客户端连接到远程TCP主机。 3) Connect(IPAddress[],Int32),使用指定的IP地址和端口号将客户端连接到远程TCP主机。 4) Connect(String,Int32),使用指定的主机名和端口号将客户端连接到指定主机上的指定端口。 如下代码段描述了TcpClient实例的创建以及与指定远程主机的连接过程。 m_client=new TcpClient(); m_client.Connect(m_servername, m_port); (3)利用NetworkStream实例发送和接收数据 TcpClient类创
您可能关注的文档
- 《AS3.0 Socket》.docx
- 《AS3.0_Socket编程》.doc
- 《as3_Socket_的例子》.doc
- 《AsiaPacific Regional Trade Agreements》.pdf
- 《ASS- VSU - Requirements to obtain a Shengen Visa (INVITO) (EN)》.doc
- 《Asset Valuation & Allocation Models- Prudential Financial》.pdf
- 《Asset-valuation-debt Chinese 2016》.ppt
- 《Atmel Touch Library.pdf ourdev_452103》.pdf
- 《Atomic clock transitions in silicon-based spin qubits》.pdf
- 《AU5790 Single wire CAN transceiver》.pdf
最近下载
- 王戎不取道旁李课件(共29张PPT).ppt VIP
- 5. 山东省互联网医疗服务监管平台对接说明v3.0(2).pdf
- 2024广西公需课高质量共建“一带一路” 谱写人类命运共同体新篇章答案.docx VIP
- 在线网课学习课堂《高级大数据系统》单元测试考核答案.docx
- 安娜卡列尼娜课件.pptx
- 在线网课《大学生心理健康》课后单元测试答案.docx
- 使用javafx+构建gui+教程.pdf
- 24秋江苏开放大学毛泽东思想和中国特色社会主义理论体系概论过程性考核1.doc
- 2025华医网继续教育静脉输液通路—输液港的临床应用规范题库答案.docx VIP
- 《室内装饰构造与施工图深化》第二章 室内装饰地面构造与施工图深化 教学课件.ppt VIP
文档评论(0)