Beispiel #1
0
        public override bool SendMessage(ulong id, IWriteStream writeStream)
        {
            if (Status != ConnectionStatus.Connected)
            {
                Logger.Warn($"ID:{ID}未连接状态!");
                return(false);
            }

            if (_socketService == null)
            {
                Logger.Error($"{nameof(_socketService)} 为 null");
                return(false);
            }

            var securityComponent = GetComponent <ISecurityComponent>();

            if (securityComponent == null)
            {
                Logger.Error($"{nameof(securityComponent)} 为 null");
                return(false);
            }

            Ssfi.Security.EncryptAES(writeStream, securityComponent.AesKey);
            writeStream.ShiftLeft(id);
            return(_serverSocket.Socket.Write(_socketService, writeStream));
        }
Beispiel #2
0
        public override bool SendMessage(ulong id, IWriteStream writeStream)
        {
            if (Status != ConnectionStatus.Connected)
            {
                Logger.Warn("没有连接!");
                return(false);
            }

            Logger.Debug("Key:" + _aesKey);
            Ssui.Security.EncryptAES(writeStream, _aesKey);
            writeStream.ShiftLeft(id);
            return(_socket.Write(SocketService, writeStream));
        }
Beispiel #3
0
        public static bool Invoke(MessageType messageType, IRpc rpc, IWriteStream writeStream, IPeer peer, ResponseCallback responseCallback)
        {
            if (peer == null)
            {
                Logger.Error($"{nameof(peer)} 为 null");
                return(false);
            }

            if (!_messages.TryGetValue(MessageType.RpcInvoke, out var func))
            {
                Logger.Error($"没有注册${nameof(RpcInvoke)}");
                return(false);
            }

            rpc.SerializeFields(writeStream);
            writeStream.ShiftLeft((short)messageType);
            return(peer.SendMessage(writeStream, responseCallback));
        }
Beispiel #4
0
 public void SerializeFields(IWriteStream writeStream)
 {
     writeStream.ShiftLeft(Status);
     writeStream.ShiftLeft(Exception);
     writeStream.ShiftLeft(ID);
 }
 public void SerializeFields(IWriteStream writeStream)
 {
     writeStream.ShiftLeft(MessageId);
     writeStream.ShiftLeft(MethodId);
     writeStream.ShiftLeft(Exception);
 }