c#socket、TCPClient、TCPListener应用程序用法详解.docx
《c#socket、TCPClient、TCPListener应用程序用法详解.docx》由会员分享,可在线阅读,更多相关《c#socket、TCPClient、TCPListener应用程序用法详解.docx(28页珍藏版)》请在第壹文秘上搜索。
1、c#socket、TCPCIientTCPListener用法详解VisualC#.Net网络程序开发-SoCket篇Microsoft.NetFramework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间SyStem.Net和System.Net-Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层构造允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要-从socket套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够适应Internet不
2、断扩展的需要。抛开ISO/OSI模型的7层构架,单从TCP/IP模型上的逻辑层面上看,.Net类可以视为包含3个层次:请求/响应层、应用协议层、传输层。WebReqeustWebResponse代表了请求/响应层,支持、Tcp和Udp的类组成了应用协议层,而Socket类处于传输层。传输层位于这个构造的最底层,当其上面的应用协议层和请求/响应层不能满足应用程序的特殊需要时,就需要使用这一层进展Socket套接字编程。而在.Net中,System.Net.Sockets命名空间为需要严密控制网络访问的开发人员提供了WindowsSockets(Winsock)接口的托管实现。System.Net
3、命名空间中的所有其他网络访问类都建设在该套接字Socket实现之上,如TCPCIient.TCPListener和UDPCIient类封装有关创立到Internet的TCP和UDP连接的详细信息;NetworkStream类那么提供用于网络访问的根基数据流等,常见的许多Internet服务都可以见到Socket的踪影,如TelnetEmaiLECho等,这些服务尽管通讯协议PrOtOCol的定义不同,但是其根基的传输都是采用的SoCkeh其实,SoCket可以象流Stream一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,而后,数据的读取(接收)和写入(发送)均针
4、对这个通道来进展。可见,在应用程序端或者服务器端创立了SOCket对象之后,就可以使用Send/SentTo方法将数据发送到连接的SOCket,或者使用Receive/ReceiveFrom方法接收来自连接Socket的数据;针对Socket编程,.NET框架的Socket类是Winsock32API提供的套接字服务的托管代码版本。其中为实现网络编程提供了大量的方法,大多数情况下,Socket类方法只是将数据封送到它们的本机Win32中并处理任何必要的安全检查。如果你熟悉WinsockAPl函数,那么用SOCket类编写网络程序会非常容易,当然,如果你不曾接触过,也不会太困难,跟随下面的讲解,
5、你会觉察使用SOCket类开发WindoWS网络应用程序原来有规可寻,它们在大多数情况下遵循大致一样的步骤。在使用之前,你需要首先创立Socket对象的实例,这可以通过Socket类的构造方法来实现:publicSocket(AddressFamilyaddressFamilyzSocketTypeSocketTypezProtocoITypeprotocolType);其中,addressFamily参数指定Socket使用的寻址方案,SocketType参数指定Socket的类型,protocolType参数指定SOCket使用的协议。下面的例如语句创立一个Socket,它可用于在基于TC
6、P/IP的网络(如Internet)上通讯。Sockets=newSocket(AddressFamily.InterNetworkzSocketType-Stream,ProtocoIType.Tcp);假设要使用UDP而不是TCP,需要更改协议类型,如下面的例如所示:Sockets=newSocket(AddressFamily.InterNetworkzSocketType-DgramzProtocoIType.Udp);一旦创立Socket,在客户端,你将可以通过Connect方法连接到指定的服务器,并通过Send/SendTo方法向远程服务器发送数据,而后可以通过ReceiveZRe
7、ceiveFrom从服务端接收数据;而在服务器端,你需要使用Bind方法绑定所指定的接口使Socket与一个本地终结点相联,并通过LiSten方法侦听该接口上的请求,当侦听到用户端的连接时,调用Accept完成连接的操作,创立新的Socket以处理传入的连接请求。使用完Socket后,记住使用Shutdown方法禁用Socket,并使用Close方法关闭Socketo其间用到的方法/函数有:Socket.Connect方法:建设到远程设备的连接publicvoidConnect(EndPointremoteEP)(有重载方法)Socket.Send方法:从数据中的指示位置开场将数据发送到连接的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- socket TCPClient TCPListener 应用程序 用法 详解
