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)); } }
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); }
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)); } }