- 1、本文档共194页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
socket类MSDNC
说明:本文摘录自MSDN2010版,有哪些信誉好的足球投注网站字符串:Socket类,然后从中摘录相关方法的一部分,如果需要,请到MSDN中查询
Socket 类
实现 Berkeley 套接字接口。
命名空间:???System.Net.Sockets
程序集:???System(在 System.dll 中)
语法
public class Socket : IDisposable
备注
Socket?类为网络通信提供了一套丰富的方法和属性。?Socket?类允许您使用?ProtocolType?枚举中所列出的任何一种协议执行异步和同步数据传输。
Socket?类对异步方法遵循 .NET Framework 命名模式。?例如,同步的?Receive?方法对应于异步的?BeginReceive?和?EndReceive?方法。
如果应用程序在执行期间只需要一个线程,请使用下面的方法,这些方法适用于同步操作模式。
如果当前使用的是面向连接的协议(如 TCP),则服务器可以使用?Listen?方法侦听连接。?Accept?方法处理任何传入的连接请求,并返回可用于与远程主机进行数据通信的?Socket。?可以使用此返回的?Socket?来调用?Send?或?Receive?方法。?如果要指定本地 IP 地址和端口号,请在调用?Listen?方法之前先调用?Bind?方法。?如果您希望基础服务提供程序为您分配可用端口,请使用端口号 0。如果希望连接到侦听主机,请调用?Connect?方法。?若要进行数据通信,请调用?Send?或Receive?方法。
如果当前使用的是无连接协议(如 UDP),则根本不需要侦听连接。调用?ReceiveFrom?方法可接受任何传入的数据报。?使用?SendTo?方法可将数据报发送到远程主机。
若要在执行过程中使用单独的线程处理通信,请使用下面的方法,这些方法适用于异步操作模式。
如果当前使用的是面向连接的协议(如 TCP),则可使用?Socket、?BeginConnect?和?EndConnect?方法来连接侦听主机。?通过使用?BeginSend?和?EndSend?方法,或者使用?BeginReceive?和?EndReceive?方法,可以进行异步数据通信。?可以使用?BeginAccept?和?EndAccept?处理传入的连接请求。
如果您使用的是 UDP 等无连接协议,则可以使用?BeginSendTo?和?EndSendTo?来发送数据报,而使用?BeginReceiveFrom?和?EndReceiveFrom?来接收数据报。
如果对一个套接字执行多个异步操作,它们不一定按启动时的顺序完成。
当数据发送和数据接收完成之后,可使用?Shutdown?方法来禁用?Socket。?在调用?Shutdown?之后,可调用?Close?方法来释放与?Socket?关联的所有资源。
通过?Socket?类,您可以使用?SetSocketOption?方法来配置?Socket。?可以使用?GetSocketOption?方法来检索这些设置。
?说明 如果要编写相对简单的应用程序,而且不需要最高的性能,则可以考虑使用?TcpClient、?TcpListener?和?UdpClient。?这些类为?Socket?通信提供了更简单、对用户更友好的接口。 示例
下面的代码示例演示如何使用?Socket?类向 HTTP 服务器发送数据和接收响应。?接收到整个页前,此示例将一直处于阻止状态。
VB
C#
C++
F#
JScript
打印
using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
public class GetSocket
{
private static Socket ConnectSocket(string server, int port)
{
Socket s = null;
IPHostEntry hostEntry = null;
// Get host related information.
hostEntry = Dns.GetHostEntry(server);
// Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
// an exception that occurs when the host IP Address
文档评论(0)