在c#中创建socket对象

在c#中创建socket对象

ID:38008573

大小:37.50 KB

页数:4页

时间:2019-05-23

在c#中创建socket对象_第1页
在c#中创建socket对象_第2页
在c#中创建socket对象_第3页
在c#中创建socket对象_第4页
资源描述:

《在c#中创建socket对象》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Blog.sina.com.cn/pcwl8521星月梦缘在C#中创建Socket对象今天我们在C#中创建Socket对象,了解Socket对象创建时的关键代码,我将带大家写个控制台的服务器、客户机。  在.Net中,System.Net.Sockets命名空间为需要严密控制网络访问的开发人员提供了WindowsSockets(Winsock)接口的托管实现。System.Net命名空间中的所有其他网络访问类都建立在该套接字Socket实现之上,如TCPClient、TCPListener和UDPClient类封装

2、有关创建到Internet的TCP和UDP连接的详细信息;NetworkStream类则提供用于网络访问的基础数据流等,常见的许多Internet服务都可以见到Socket的踪影,如Telnet、Http、Email、Echo等,这些服务尽管通讯协议Protocol的定义不同,但是其基础的传输都是采用的Socket。  其实,Socket可以象流Stream一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,而后,数据的读取(接收)和写入(发送)均针对这个通道来进行。   所以,在应用程序

3、端或者服务器端创建了Socket对象之后,就可以使用Send/SentTo方法将数据发送到连接的Socket,或者使用Receive/ReceiveFrom方法接收来自连接Socket的数据;   针对Socket编程,.NET框架的Socket类是Winsock32API提供的套接字服务的托管代码版本。其中为实现网络编程提供了大量的方法,大多数情况下,Socket类方法只是将数据封送到它们的本机Win32副本中并处理任何必要的安全检查。如果你熟悉WinsockAPI函数,那么用Socket类编写网络程序会非常容易

4、,当然,如果你不曾接触过,也不会太困难,跟随下面的解说,你会发觉使用Socket类开发windows网络应用程序原来有规可寻,它们在大多数情况下遵循大致相同的步骤。   在使用之前,你需要首先创建Socket对象的实例,这可以通过Socket类的构造方法来实现:    publicSocket(AddressFamilyaddressFamily,SocketTypesocketType,ProtocolTypeprotocolType); 4星月梦缘Blog.sina.com.cn/pcwl8521Blog.si

5、na.com.cn/pcwl8521星月梦缘其中,addressFamily参数指定Socket使用的寻址方案,socketType参数指定Socket的类型,protocolType参数指定Socket使用的协议。   下面的示例语句创建一个Socket,它可用于在基于TCP/IP的网络(如Internet)上通讯。    Sockets=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 若要使用UDP而不是TCP,

6、需要更改协议类型,如下面的示例所示:    Sockets=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp); 一旦创建Socket,在客户端,你将可以通过Connect方法连接到指定的服务器,并通过Send/SendTo方法向远程服务器发送数据,而后可以通过Receive/ReceiveFrom从服务端接收数据;而在服务器端,你需要使用Bind方法绑定所指定的接口使Socket与一个本地终结点相联,并通过Listen方法

7、侦听该接口上的请求,当侦听到用户端的连接时,调用Accept完成连接的操作,创建新的Socket以处理传入的连接请求。使用完Socket后,记住使用Shutdown方法禁用Socket,并使用Close方法关闭Socket。其间用到的方法/函数有:Socket.Connect方法:建立到远程设备的连接 publicvoidConnect(EndPointremoteEP)(有重载方法 Socket.Send方法:从数据中的指示位置开始将数据发送到连接的Socket。 publicintSend(byte[],int

8、,SocketFlags);(有重载方法) Socket.SendTo方法将数据发送到特定终结点。 publicintSendTo(byte[],EndPoint);(有重载方法) Socket.Receive方法:将数据从连接的Socket接收到接收缓冲区的特定位置。publicintReceive(byte[],int,SocketFlags); 4星月

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

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

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