supersocket

近期要做一个服务,领导指名要用supersocket做通信,第一次接触,很多不懂。

先记录一下测试的数据流程

接收数据的时候,先走RTUSvrReceiveFilter,一般在里面会对报文进行检查过滤

如果supersocket用的是代码起动,并且注册了接收事件,则走

socket.NewRequestReceived += new RequestHandler<RTUSvrSession, RTUSvrRequestInfo>(appServer_NewSessionReceived);

如果没有注册接收事件,也可以申明命令类

public class KeepAlive:CommandBase<RTUSvrSession,RTUSvrRequestInfo>
    {
        public override string Name
        {
            get
            {
                return "91";
            }
        }

        public override void ExecuteCommand(RTUSvrSession session, RTUSvrRequestInfo requestInfo)
        {
            session.Send("91");
        }
    }

但是命令类的类名称必须和过滤类里面解析出来的命令一致,否则就重载Name属性。只有一一对应才会触发

posted @ 2016-08-03 17:38  疯行者  阅读(999)  评论(0编辑  收藏  举报