点击或拖拽改变大小

NetworkDoubleBaseTNetMessage, TTransformInitializationOnConnect 方法

连接上服务器后需要进行的初始化操作

命名空间:  HslCommunication.Core.Net
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:8.2.1.0 (8.2.1.0)
语法
protected virtual OperateResult InitializationOnConnect(
	Socket socket
)

参数

socket
类型:System.Net.SocketsSocket
网络套接字

返回值

类型:OperateResult
是否初始化成功,依据具体的协议进行重写
示例
有些协议不需要握手信号,比如三菱的MC协议,Modbus协议,西门子和欧姆龙就存在握手信息,此处的例子是继承本类后重写的西门子的协议示例
西门子重连示例
/// <summary>
/// 连接上服务器后需要进行的二次握手操作 -> Two handshake actions required after connecting to the server
/// </summary>
/// <param name="socket">网络套接字 -> Network sockets</param>
/// <returns>是否初始化成功,依据具体的协议进行重写 ->
/// Whether the initialization succeeds and is rewritten according to the specific protocol</returns>
protected override OperateResult InitializationOnConnect( Socket socket )
{
    // 第一次握手 -> First handshake
    OperateResult<byte[]> read_first = ReadFromCoreServer( socket, plcHead1 );
    if (!read_first.IsSuccess) return read_first;

    // 第二次握手 -> Second handshake
    OperateResult<byte[]> read_second = ReadFromCoreServer( socket, plcHead2 );
    if (!read_second.IsSuccess) return read_second;

    // 返回成功的信号 -> Return a successful signal
    return OperateResult.CreateSuccessResult( );
}
参见