Exemplo n.º 1
0
        private void SendAddSubscribePackage()
        {
            try
            {
                if (mMaskMsg == null || mMessageMsg == null)
                {
                    OnDebug(string.Format("MaskMsg or MessageMsg is null"));
                    return;
                }

                _TAG_NETPACK_MESSAGE mask    = mMaskMsg.GetMessage();
                _TAG_NETPACK_MESSAGE message = mMessageMsg.GetMessage();

                _TAG_NETPACK_BASEHEAD_REQ_ADD_SUBSCRIBE addSubscribe = new _TAG_NETPACK_BASEHEAD_REQ_ADD_SUBSCRIBE();
                addSubscribe._requestid = GetRequestID();
                addSubscribe._mask      = mask;
                addSubscribe._message   = message;

                _TAG_NETPACK_DISTINGUISHHEAD_VER1 ver1Head = CreateVer1Head(
                    DecDefines.NETPACK_PACKTYPE_REQUEST,
                    DecDefines.NETPACK_BASETYPE_REQ_ADDSUBSCRIBE,
                    DecDefines.NETPACK_EXTTYPE_NOTHING,
                    0);
                byte[] messageHead = Converter.Struct2Bytes(addSubscribe);
                SendMessage(ver1Head, messageHead);
            }
            catch (Exception ex)
            {
                OnDebug(string.Format("SendMessage fail.\t{0}", ex.Message));
            }
        }
Exemplo n.º 2
0
        internal static _TAG_NETPACK_MESSAGE CreateMessage(ushort sourceModule, ushort sourceNumber, ushort targetModule,
                                                           ushort targetNumber, ushort number, ushort smallType, ushort middleType, ushort largeType)
        {
            _TAG_NETPACK_MESSAGE message = new _TAG_NETPACK_MESSAGE();

            message._targetNumber = targetNumber;
            message._targetModule = targetModule;
            message._sourceNumber = sourceNumber;
            message._sourceModule = sourceModule;
            message._number       = number;
            message._samllType    = smallType;
            message._middleType   = middleType;
            message._largeType    = largeType;
            return(message);
        }
Exemplo n.º 3
0
        private void SendPublishMessage(string msg, MessageString message)
        {
            try
            {
                byte[] byteMsg = Encoding.UTF8.GetBytes(msg);

                NETPACK_BASEHEAD_APPLICATION_VER1 appVer1 = new NETPACK_BASEHEAD_APPLICATION_VER1();
                appVer1._channel  = 0;
                appVer1._encrypt  = (byte)mDataEncrypt;
                appVer1._compress = 0;
                appVer1._format   = (byte)mDataFormat;

                appVer1._datasize  = (ushort)byteMsg.Length;
                appVer1._validsize = Helpers.GetEncryptStoreSize((byte)mDataEncrypt, (ushort)byteMsg.Length);

                _TAG_NETPACK_DISTINGUISHHEAD_VER1 ver1Head = CreateVer1Head(
                    DecDefines.NETPACK_PACKTYPE_APPLICATION,
                    DecDefines.NETPACK_BASETYPE_APPLICATION_VER1,
                    DecDefines.NETPACK_EXTTYPE_NOTHING,
                    appVer1._validsize);

                _TAG_NETPACK_MESSAGE messageMessage = Helpers.CreateMessage(message.SourceModule, message.SourceNumber,
                                                                            message.TargetModule, message.TargetNumber, message.Number, message.SmallType, message.MiddleType,
                                                                            message.LargeType);
                ver1Head._message = messageMessage;

                byte[] byteBaseHead = Converter.Struct2Bytes(appVer1);
                byte[] byteSend     = new byte[byteBaseHead.Length + byteMsg.Length];
                Array.Copy(byteBaseHead, 0, byteSend, 0, byteBaseHead.Length);
                Array.Copy(byteMsg, 0, byteSend, byteBaseHead.Length, byteMsg.Length);
                SendMessage(ver1Head, byteSend);
            }
            catch (Exception ex)
            {
                OnDebug(string.Format("SendMessage fail.\t{0}", ex.Message));
            }
        }