台式机cpu温度-可以进入任何网站的浏览器

socket receive
2023年4月4日发(作者:双系统安装)

c#,socket编程的⼀些常⽤⽅法

1命名空间

需要添加的命名空间

;

;

2构造新的socket对象

socket原型:

publicsocket(AddressFamilyaddressFamily,SocketTypesockettype,ProtocolTypeprotocolType)

(1)AddressFamily⽤来指定socket解析地址的寻址⽅案,k标⽰需要ip版本4的地址,kV6需要ip版本6的地址;

(2)SocketType参数指定socket类型,Raw⽀持基础传输协议访问,Stream⽀持可靠,双向,基于连接的数据流;

(3)ProtocolType表⽰socket⽀持的⽹络协议,如常⽤的TCP和UDP协议。

3定义主机对象

(1)IPEndPoint类

原型:

a)

publicIPEndPoint(IPAddressaddress,intport)

参数address可以直接填写主机的IP,如"192.168.2.1";

b)

publicIPEndPoint(longaddress,intport)

参数address整型int64如123456,参数port端⼝int32,如6655。

(2)利⽤DNS服务器解析主机,使⽤e⽅法

原型:

publicstaticIPHostEntryResolve(stringhostname)

参数:待解析的主机名称,返回IPHostEntry类值,IPHostEntry为主机地址信息提供容器,该容器提供存有IP地址列表,主机名称

等。

(3)tByName获取本地主机名称

原型:

publicstaticIPHostEntryGetHostByName(stringhostname)

(4)GetHostByAddress

原型:

a)

publicstaticIPHostEntryGetHostByAddress(IPAddressaddress)

参数:IP地址。

b)

publicstaticIPHostEntryGetHostByAddress(stringaddress)

参数:IP地址格式化字符串。

3.4端⼝绑定和监听

同步套接字服务器主机的绑定和端⼝监听,Socket类的Bind(绑定主机),Listen(监听端⼝),Accept(接收客户端的连接请求)。

(1)Bind

原型:

publicvoidBind(EndPointLocalEP)

参数为主机对象IPEndPoint

(2)Listen

原型:

publicvoidListen(intbacklog)

参数整型数值,挂起队列最⼤值

(3)accept

原型:

publicsocketaccept()

返回为套接字对象

3.5socket的发送和接收⽅法

(1)发送数据

a)socket类的send⽅法

原型⼀:

publicintSend(byte[]buffer)

参数:待发送的字节数组;

原型⼆:

publicintSend(byte[],SocketFlags)

SocketFlags成员列表:

DontRoute不使⽤路由表发送,

MaxIOVectorLength为发送和接收数据的wsabuf结构数量提供标准值,

None不对次调⽤使⽤标志,

OutOfBand消息的部分发送或接收,

Partial消息的部分发送或接收,

Peek查看传⼊的消息。

原型三:

publicintSend(byte[],int,SocketFlags)

参数⼆要发送的字节数

原型四:

publicintSend(byte[],int,int,SocketFlags)

参数⼆为Byte[]中开始发送的位置

b)NetWordStream类的Write⽅法

原型:

publicoverridevoidwrite(byte[]buffer,intoffset,intsize)

参数分别为:字节数组,开始字节位置,总字节数。

(2)接收数据

a)Socket类Receive⽅法

原型⼀:

publicintReceive(byte[]buffer)

原型⼆:

publicintReceive(byte[],SocketFlags)

原型三:

publicintReceive(byte[],int,SocketFlags)

原型四:

publicintReceive(byte[],int,int,SocketFlags)

Socket类Receive⽅法的相关参数可参看Socket类Send⽅法中的参数。

b)NetworkStream类的Read⽅法

publicoverrideintRead(intbyte[]buffer,intoffset,intsize)

参数可参看NetworkStream类的Write⽅法。

获取已经从⽹络接收且可供读取的数据量。

命名空间:

程序集:System(中)

从⽹络接收的、可供读取的数据的字节数。

更多推荐

socket receive