BinaryCommunication 类 |
命名空间: HslCommunication.Core.Net
BinaryCommunication 类型公开以下成员。
名称 | 说明 | |
---|---|---|
BinaryCommunication |
默认的无参构造函数 Default no-parameter constructor |
名称 | 说明 | |
---|---|---|
CommunicationPipe | ||
ConnectionId |
当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定 The unique ID number of the current connection. The default is a 20-digit guid code plus a random number. | |
LogNet | ||
ReceiveTimeOut |
获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈 Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback | |
SendBeforeHex |
获取或设置在发送通信报文前追加发送的字节信息,HEX格式,通常用于lora组网时,需要携带 00 00 00 02 四个字节的站地址功能。 Obtain or set the byte information sent before sending communication packets, HEX format, usually used for LORA networking, you need to carry 00 00 00 02 four-byte station address function. | |
SleepTime |
获取或设置在正式接收对方返回数据前的时候,需要休息的时间,当设置为0的时候,不需要休息。 Get or set the time required to rest before officially receiving the data from the other party. When it is set to 0, no rest is required. |
名称 | 说明 | |
---|---|---|
DecideWhetherQAMessage |
决定当前的消息是否是用于问答机制返回的消息,默认直接返回 true, 实际的情况需要根据协议进行重写方法 To determine whether the current message is the message returned by the question answering mechanism, the default is true. In actual cases, the rewriting method needs to be performed according to the protocol | |
Equals | Determines whether the specified object is equal to the current object. (继承自 Object。) | |
ExtraAfterReadFromCoreServer |
和服务器交互完成的时候调用的方法,可以根据读写结果进行一些额外的操作,具体的操作需要根据实际的需求来重写实现 The method called when the interaction with the server is completed can perform some additional operations based on the read and write results. The specific operations need to be rewritten according to actual needs. | |
ExtraOnDisconnect |
根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道 Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting. | |
ExtraOnDisconnectAsync |
根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道 Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting. | |
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。) | |
GetLogTextFromBinary |
获取当前的报文进行日志记录的时候,是否使用二进制的格式记录,默认返回 LogMsgFormatBinary,重写可以根据session对象分别返回不同记录模式 Whether to log the current packet in binary format, the default return is LogMsgFormatBinary. If you want to override it, different recording modes can be returned according to session | |
GetNewNetMessage |
获取一个新的消息对象的方法,需要在继承类里面进行重写 The method to get a new message object needs to be overridden in the inheritance class | |
GetType | Gets the Type of the current instance. (继承自 Object。) | |
InitializationOnConnect |
根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。 Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created. | |
InitializationOnConnectAsync |
根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。 Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created. | |
LogRevcMessage(Byte) |
使用日志记录一个接收的报文信息 ` Logs are used to record information about a received packet | |
LogRevcMessage(Byte, PipeSession) |
使用日志记录一个接收的报文信息 ` Logs are used to record information about a received packet | |
LogSendMessage(Byte) |
使用日志记录一个发送的报文信息 Logs are used to record information about a send packet | |
LogSendMessage(Byte, PipeSession) |
使用日志记录一个发送的报文信息 Logs are used to record information about a send packet | |
MemberwiseClone | Creates a shallow copy of the current Object. (继承自 Object。) | |
PackCommandWithHeader |
对当前的命令进行打包处理,通常是携带命令头内容,标记当前的命令的长度信息,需要进行重写,否则默认不打包 The current command is packaged, usually carrying the content of the command header, marking the length of the current command, and it needs to be rewritten, otherwise it is not packaged by default | |
ReadFromCoreServer(Byte) |
将二进制的数据发送到管道中去,然后从管道里接收二进制的数据回来,并返回是否成功的结果对象。 Send binary data to the pipeline, and then receive binary data back from the pipeline, and return whether the success of the result object | |
ReadFromCoreServer(IEnumerableByte) |
将多个数据报文按顺序发到设备,并从设备接收返回的数据内容,然后拼接成一个Byte[]信息,需要重写UnpackResponseContent(Byte, Byte)方法才能返回正确的结果。 Send multiple data packets to the device in sequence, and receive the returned data content from the device, and then splicing them into a Byte[] message, you need to rewrite UnpackResponseContent(Byte, Byte) method to return the correct result. | |
ReadFromCoreServer(Byte, Boolean, Boolean) |
将二进制的数据发送到管道中去,然后从管道里接收二进制的数据回来,并返回是否成功的结果对象。 Send binary data to the pipeline, and then receive binary data back from the pipeline, and return whether the success of the result object | |
ReadFromCoreServer(CommunicationPipe, Byte, Boolean, Boolean) |
使用指定的管道来进行数据通信,发送原始数据到管道,然后从管道接收相关的数据返回,本方法无锁
| |
ReadFromCoreServerAsync(Byte) |
将二进制的数据发送到管道中去,然后从管道里接收二进制的数据回来,并返回是否成功的结果对象。 Send binary data to the pipeline, and then receive binary data back from the pipeline, and return whether the success of the result object | |
ReadFromCoreServerAsync(IEnumerableByte) |
将多个数据报文按顺序发到设备,并从设备接收返回的数据内容,然后拼接成一个Byte[]信息,需要重写UnpackResponseContent(Byte, Byte)方法才能返回正确的结果。 Send multiple data packets to the device in sequence, and receive the returned data content from the device, and then splicing them into a Byte[] message, you need to rewrite UnpackResponseContent(Byte, Byte) method to return the correct result. | |
ReadFromCoreServerAsync(Byte, Boolean, Boolean) |
将二进制的数据发送到管道中去,然后从管道里接收二进制的数据回来,并返回是否成功的结果对象。 Send binary data to the pipeline, and then receive binary data back from the pipeline, and return whether the success of the result object | |
ReadFromCoreServerAsync(CommunicationPipe, Byte, Boolean, Boolean) |
使用指定的管道来进行数据通信,发送原始数据到管道,然后从管道接收相关的数据返回,本方法无锁
| |
SetDtuPipe |
将当前的通信对象设置DTU模式,允许传入现成的管道,并返回初始化结果,如果该设备重写了握手报文,就是返回握手结果 Set the current communication object to DTU mode, allow the existing pipe to be passed in, and return the initialization result, if the device rewrites the handshake packet, the handshake result is returned | |
SetDtuPipeAsync |
将当前的通信对象设置DTU模式,允许传入现成的管道,并返回初始化结果,如果该设备重写了握手报文,就是返回握手结果 Set the current communication object to DTU mode, allow the existing pipe to be passed in, and return the initialization result, if the device rewrites the handshake packet, the handshake result is returned | |
ToString | Returns a string that represents the current object. (继承自 Object。) | |
UnpackResponseContent |
根据对方返回的报文命令,对命令进行基本的拆包,例如各种Modbus协议拆包为统一的核心报文,还支持对报文的验证 According to the message command returned by the other party, the command is basically unpacked, for example, various Modbus protocols are unpacked into a unified core message, and the verification of the message is also supported |
名称 | 说明 | |
---|---|---|
LogMsgFormatBinary |
设置日志记录报文是否二进制,如果为False,那就使用ASCII码 Set whether the log message is binary, if it is False, then use ASCII code |
名称 | 说明 | |
---|---|---|
ToJsonString |
获取当前对象的JSON格式表示的字符串。 (由 HslExtension 定义。)Gets the string represented by the JSON format of the current object. |