点击或拖拽改变大小

NetworkBase 类

本系统所有网络类的基类,该类为抽象类,无法进行实例化,如果想使用里面的方法来实现自定义的网络通信,请通过继承使用。
The base class of all network classes in this system. This class is an abstract class and cannot be instantiated. If you want to use the methods inside to implement custom network communication, please use it through inheritance.
继承层次

命名空间:  HslCommunication.Core.Net
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:10.2.2.0 (10.2.2.0)
语法
public abstract class NetworkBase

NetworkBase 类型公开以下成员。

构造函数
  名称说明
公共方法NetworkBase
实例化一个NetworkBase对象,令牌的默认值为空,都是0x00
Instantiate a NetworkBase object, the default value of the token is empty, both are 0x00
Top
属性
  名称说明
公共属性代码示例LogNet
组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以DEBUG等级进行输出
The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at DEBUG
公共属性代码示例Token
网络类的身份令牌,在hsl协议的模式下会有效,在和设备进行通信的时候是无效的
Network-type identity tokens will be valid in the hsl protocol mode and will not be valid when communicating with the device
Top
方法
  名称说明
受保护的方法CheckRemoteToken
检查当前的头子节信息的令牌是否是正确的,仅用于某些特殊的协议实现
Check whether the token of the current header subsection information is correct, only for some special protocol implementations
受保护的方法代码示例CreateSocketAndConnect(String, Int32)
创建一个新的socket对象并连接到远程的地址,默认超时时间为10秒钟,需要指定ip地址以及端口号信息
Create a new socket object and connect to the remote address. The default timeout is 10 seconds. You need to specify the IP address and port number.
受保护的方法代码示例CreateSocketAndConnect(IPEndPoint, Int32, IPEndPoint)
创建一个新的socket对象并连接到远程的地址,需要指定远程终结点,超时时间(单位是毫秒),如果需要绑定本地的IP或是端口,传入 local对象
To create a new socket object and connect to the remote address, you need to specify the remote endpoint, the timeout period (in milliseconds), if you need to bind the local IP or port, pass in the local object
受保护的方法代码示例CreateSocketAndConnect(String, Int32, Int32)
创建一个新的socket对象并连接到远程的地址,需要指定ip地址以及端口号信息,还有超时时间,单位是毫秒
To create a new socket object and connect to a remote address, you need to specify the IP address and port number information, and the timeout period in milliseconds
受保护的方法代码示例CreateSocketAndConnectAsync(String, Int32)
创建一个新的socket对象并连接到远程的地址,默认超时时间为10秒钟,需要指定ip地址以及端口号信息
Create a new socket object and connect to the remote address. The default timeout is 10 seconds. You need to specify the IP address and port number.
受保护的方法代码示例CreateSocketAndConnectAsync(IPEndPoint, Int32, IPEndPoint)
创建一个新的socket对象并连接到远程的地址,需要指定远程终结点,超时时间(单位是毫秒),如果需要绑定本地的IP或是端口,传入 local对象
To create a new socket object and connect to the remote address, you need to specify the remote endpoint, the timeout period (in milliseconds), if you need to bind the local IP or port, pass in the local object
受保护的方法代码示例CreateSocketAndConnectAsync(String, Int32, Int32)
创建一个新的socket对象并连接到远程的地址,需要指定ip地址以及端口号信息,还有超时时间,单位是毫秒
To create a new socket object and connect to a remote address, you need to specify the IP address and port number information, and the timeout period in milliseconds
受保护的方法DeleteFileByName
删除文件的操作
Delete file operation
公共方法Equals
Determines whether the specified object is equal to the current object.
(继承自 Object。)
受保护的方法Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(继承自 Object。)
公共方法GetHashCode
Serves as the default hash function.
(继承自 Object。)
公共方法静态成员GetIpAddressHostName
通过主机名或是IP地址信息,获取到真实的IP地址信息
Obtain the real IP address information through the host name or IP address information
公共方法GetType
Gets the Type of the current instance.
(继承自 Object。)
受保护的方法MemberwiseClone
Creates a shallow copy of the current Object.
(继承自 Object。)
受保护的方法PreprocessFolderName
预处理文件夹的名称,除去文件夹名称最后一个'\'或'/',如果有的话
Preprocess the name of the folder, removing the last '\' or '/' in the folder name
受保护的方法ReadStream
读取流中的数据到缓存区,读取的长度需要按照实际的情况来判断
Read the data in the stream to the buffer area. The length of the read needs to be determined according to the actual situation.
受保护的方法ReadStreamAsync
读取流中的数据到缓存区,读取的长度需要按照实际的情况来判断
Read the data in the stream to the buffer area. The length of the read needs to be determined according to the actual situation.
受保护的方法Receive(Socket, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
受保护的方法Receive(Socket, Byte, Int32, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
受保护的方法ReceiveAndCheckBytes
[自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯
[Self-checking] Receive a complete synchronization data, including header subsection and content bytes, basic data, if the result is abnormal, the communication ends
受保护的方法ReceiveAndCheckBytesAsync
[自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯
[Self-checking] Receive a complete synchronization data, including header subsection and content bytes, basic data, if the result is abnormal, the communication ends
受保护的方法ReceiveAsync(Socket, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
受保护的方法ReceiveAsync(Socket, Byte, Int32, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
受保护的方法ReceiveByMessage
接收一条完整的 数据内容,需要指定超时时间,单位为毫秒。
Receive a complete data content, Need to specify a timeout period in milliseconds
受保护的方法ReceiveByMessageAsync
接收一条完整的 数据内容,需要指定超时时间,单位为毫秒。
Receive a complete data content, Need to specify a timeout period in milliseconds
受保护的方法ReceiveBytesContentFromSocket
[自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of byte data from the network. If the result is abnormal, the communication ends.
受保护的方法ReceiveBytesContentFromSocketAsync
[自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of byte data from the network. If the result is abnormal, the communication ends.
受保护的方法ReceiveCommandLineFromSocket(Socket, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
受保护的方法ReceiveCommandLineFromSocket(Socket, Byte, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
受保护的方法ReceiveCommandLineFromSocketAsync(Socket, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
受保护的方法ReceiveCommandLineFromSocketAsync(Socket, Byte, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
受保护的方法ReceiveFrameWebSocketPayload
从socket接收一条WebSocketMessage片段数据,返回WebSocketMessage的数据信息和是否最后一条数据内容
Receive a piece of WebSocketMessage fragment data from the socket, return the data information of WebSocketMessage and whether the last data content
受保护的方法ReceiveFrameWebSocketPayloadAsync
从socket接收一条WebSocketMessage片段数据,返回WebSocketMessage的数据信息和是否最后一条数据内容
Receive a piece of WebSocketMessage fragment data from the socket, return the data information of WebSocketMessage and whether the last data content
受保护的方法ReceiveHslMessage
接收一条hsl协议的数据信息,自动解析,解压,解码操作,获取最后的实际的数据,接收结果依次为暗号,用户码,负载数据
Receive a piece of hsl protocol data information, automatically parse, decompress, and decode operations to obtain the last actual data. The result is a opCode, user code, and payload data in order.
受保护的方法ReceiveHslMessageAsync
接收一条hsl协议的数据信息,自动解析,解压,解码操作,获取最后的实际的数据,接收结果依次为暗号,用户码,负载数据
Receive a piece of hsl protocol data information, automatically parse, decompress, and decode operations to obtain the last actual data. The result is a opCode, user code, and payload data in order.
受保护的方法ReceiveMqttFile
使用MQTT协议从网络接收字节数组,然后写入文件或流中,支持进度报告
Use MQTT protocol to receive byte array from the network, and then write it to file or stream, support progress report
受保护的方法ReceiveMqttFileAsync
使用MQTT协议从网络接收字节数组,然后写入文件或流中,支持进度报告
Use MQTT protocol to receive byte array from the network, and then write it to file or stream, support progress report
受保护的方法ReceiveMqttMessage
接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
Receive a message of a completed MQTT protocol, including control code and payload data
受保护的方法ReceiveMqttMessageAsync
接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
Receive a message of a completed MQTT protocol, including control code and payload data
受保护的方法ReceiveMqttStream
使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report
受保护的方法ReceiveMqttStreamAsync
使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report
受保护的方法ReceiveRedisCommand
从网络接收一条完整的redis报文的消息
Receive a complete redis message from the network
受保护的方法ReceiveRedisCommandAsync
从网络接收一条完整的redis报文的消息
Receive a complete redis message from the network
受保护的方法ReceiveRedisCommandString
接收一行基于redis协议的字符串的信息,需要指定固定的长度
Receive a line of information based on the redis protocol string, you need to specify a fixed length
受保护的方法ReceiveRedisCommandStringAsync
接收一行基于redis协议的字符串的信息,需要指定固定的长度
Receive a line of information based on the redis protocol string, you need to specify a fixed length
受保护的方法ReceiveStringArrayContentFromSocket
[自校验] 从网络中接收一个字符串数组,如果结果异常,则结束通讯
[Self-check] Receive an array of strings from the network. If the result is abnormal, the communication ends.
受保护的方法ReceiveStringArrayContentFromSocketAsync
[自校验] 从网络中接收一个字符串数组,如果结果异常,则结束通讯
[Self-check] Receive an array of strings from the network. If the result is abnormal, the communication ends.
受保护的方法ReceiveStringContentFromSocket
[自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of data from the network. If the result is abnormal, the communication ends.
受保护的方法ReceiveStringContentFromSocketAsync
[自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of data from the network. If the result is abnormal, the communication ends.
受保护的方法ReceiveWebSocketPayload
从socket接收一条完整的websocket数据,返回WebSocketMessage的数据信息
Receive a complete websocket data from the socket, return the data information of the WebSocketMessage
受保护的方法ReceiveWebSocketPayloadAsync
从socket接收一条完整的websocket数据,返回WebSocketMessage的数据信息
Receive a complete websocket data from the socket, return the data information of the WebSocketMessage
受保护的方法Send(Socket, Byte)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
受保护的方法Send(Socket, Byte, Int32, Int32)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
受保护的方法SendAccountAndCheckReceive
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendAccountAndCheckReceiveAsync
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendAsync(Socket, Byte)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
受保护的方法SendAsync(Socket, Byte, Int32, Int32)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
受保护的方法SendBaseAndCheckReceive
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendBaseAndCheckReceiveAsync
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendBytesAndCheckReceive
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendBytesAndCheckReceiveAsync
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendMqttFile(Socket, Stream, String, String, ActionInt64, Int64, AesCryptography)
使用MQTT协议将一个数据流发送到网络上去,需要保存的文件名,可选指定文件描述信息,进度报告
Use the MQTT protocol to send a data stream to the network, the file name that needs to be saved, optional file description information, progress report
受保护的方法SendMqttFile(Socket, String, String, String, ActionInt64, Int64, AesCryptography)
使用MQTT协议将一个文件发送到网络上去,需要指定文件名,保存的文件名,可选指定文件描述信息,进度报告
To send a file to the network using the MQTT protocol, you need to specify the file name, the saved file name, optionally specify the file description information, and the progress report
受保护的方法SendMqttFileAsync(Socket, Stream, String, String, ActionInt64, Int64, AesCryptography)
使用MQTT协议将一个数据流发送到网络上去,需要保存的文件名,可选指定文件描述信息,进度报告
Use the MQTT protocol to send a data stream to the network, the file name that needs to be saved, optional file description information, progress report
受保护的方法SendMqttFileAsync(Socket, String, String, String, ActionInt64, Int64, AesCryptography)
使用MQTT协议将一个文件发送到网络上去,需要指定文件名,保存的文件名,可选指定文件描述信息,进度报告
To send a file to the network using the MQTT protocol, you need to specify the file name, the saved file name, optionally specify the file description information, and the progress report
受保护的方法SendMqttStream
使用MQTT协议将流中的数据读取到字节数组,然后都写入到socket里面,可以指定进度报告,主要用于将文件发送到网络。
Use the MQTT protocol to read the data in the stream into a byte array, and then write them all into the socket. You can specify a progress report, which is mainly used to send files to the network.
受保护的方法SendMqttStreamAsync
使用MQTT协议将流中的数据读取到字节数组,然后都写入到socket里面,可以指定进度报告,主要用于将文件发送到网络。
Use the MQTT protocol to read the data in the stream into a byte array, and then write them all into the socket. You can specify a progress report, which is mainly used to send files to the network.
受保护的方法SendStreamToSocket
发送一个流的所有数据到指定的网络套接字,需要指定发送的数据长度,支持按照百分比的进度报告
Send all the data of a stream to the specified network socket. You need to specify the length of the data to be sent. It supports the progress report in percentage.
受保护的方法SendStreamToSocketAsync
发送一个流的所有数据到指定的网络套接字,需要指定发送的数据长度,支持按照百分比的进度报告
Send all the data of a stream to the specified network socket. You need to specify the length of the data to be sent. It supports the progress report in percentage.
受保护的方法SendStringAndCheckReceive(Socket, Int32, String)
[自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-checking] Send string data directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendStringAndCheckReceive(Socket, Int32, String)
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendStringAndCheckReceiveAsync(Socket, Int32, String)
[自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-checking] Send string data directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
受保护的方法SendStringAndCheckReceiveAsync(Socket, Int32, String)
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
公共方法ToString
Returns a string that represents the current object.
(重写 ObjectToString.)
受保护的方法WriteStream
将缓冲区的数据写入到流里面去
Write the buffer data to the stream
受保护的方法WriteStreamAsync
将缓冲区的数据写入到流里面去
Write the buffer data to the stream
受保护的方法WriteStreamFromSocket
从套接字中接收所有的数据然后写入到指定的流当中去,需要指定数据的长度,支持按照百分比进行进度报告
Receives all data from the socket and writes it to the specified stream. The length of the data needs to be specified, and progress reporting is supported in percentage.
受保护的方法WriteStreamFromSocketAsync
从套接字中接收所有的数据然后写入到指定的流当中去,需要指定数据的长度,支持按照百分比进行进度报告
Receives all data from the socket and writes it to the specified stream. The length of the data needs to be specified, and progress reporting is supported in percentage.
Top
字段
  名称说明
受保护的字段CoreSocket
对客户端而言是的通讯用的套接字,对服务器来说是用于侦听的套接字
A communication socket for the client, or a listening socket for the server
受保护的字段fileCacheSize
文件传输的时候的缓存大小,直接影响传输的速度,值越大,传输速度越快,越占内存,默认为100K大小
The size of the cache during file transfer directly affects the speed of the transfer. The larger the value, the faster the transfer speed and the more memory it takes. The default size is 100K.
Top
扩展方法
  名称说明
公共扩展器方法ToJsonString
获取当前对象的JSON格式表示的字符串。
Gets the string represented by the JSON format of the current object.
(由 HslExtension 定义。)
Top
备注
本类提供了丰富的底层数据的收发支持,包含INetMessage消息的接收,MQTT以及Redis,websocket协议的实现
参见