コード例 #1
0
 internal MessageReceivedEventArgs(TcpConnection connection, Message msg)
 {
     Connection = connection;
     MessageTypeId = msg.MessageTypeId;
     MessageUID = msg.MessageUID;
     MessageData = msg.MessageData;
 }
コード例 #2
0
ファイル: TcpBase.cs プロジェクト: Eropi4/clMinerGUI_ENG
 protected internal void SendMessage(TcpConnection connection, ulong messageType)
 {
     Message msg = new Message()
     {
         MessageTypeId = messageType,
     };
     SendMessage(connection, msg);
 }
コード例 #3
0
ファイル: TcpBase.cs プロジェクト: Eropi4/clMinerGUI_ENG
 private void SendMessage(TcpConnection connection, Message message)
 {
     MemoryStream stream = new MemoryStream();
     switch(MessageType)
     {
         case MessageType.Simple:
             byte[] data;
             ConvertHelper.Int32ToNewBytes((int)message.MessageTypeId, out data);
             stream.Write(data, 0, 4);
             if (message.MessageData != null)
                 stream.Write(message.MessageData, 0, message.MessageData.Length);
             break;
         case MessageType.Protobuf:
             ProtoBuf.Serializer.Serialize<Message>(stream, message);
             break;
     }
     TcpDatagram datagram = new TcpDatagram((int)stream.Length);
     datagram.Data = stream;
     SendDatagram(connection, datagram);
 }
コード例 #4
0
ファイル: TcpBase.cs プロジェクト: Eropi4/clMinerGUI_ENG
 protected void NewDatagram(TcpConnection connection)
 {
     Message msg = null;
     try
     {
         switch (MessageType)
         {
             case MessageType.Simple:
                 msg = new Message();
                 byte[] type = new byte[4];
                 connection.Datagram.Data.Read(type, 0, 4);
                 msg.MessageTypeId = (ulong)ConvertHelper.BytesToInt32(type);
                 msg.MessageData = new byte[connection.Datagram.Data.Length - 4];
                 connection.Datagram.Data.Read(msg.MessageData, 0, msg.MessageData.Length);
                 break;
             case MessageType.Protobuf:
                 msg = ProtoBuf.Serializer.Deserialize<Message>(connection.Datagram.Data);
                 break;
         }
     }
     catch (Exception ex)
     {
         OnErrorOccured(new ErrorOccuredEventArgs(ex));
     }
     if (msg != null)
     {
         OnMessageReceived(new MessageReceivedEventArgs(connection, msg.MessageTypeId, msg.MessageUID, msg.MessageData));
     }
 }
コード例 #5
0
ファイル: TcpBase.cs プロジェクト: Eropi4/clMinerGUI_ENG
 protected internal void SendMessage(TcpConnection connection, ulong messageType, ulong messageUID, MemoryStream data)
 {
     byte[] buffer = new byte[data.Length];
     data.Position = 0;
     data.Read(buffer, 0, (int)data.Length);
     Message msg = new Message()
     {
         MessageTypeId = messageType,
         MessageUID = messageUID,
         MessageData = buffer
     };
     SendMessage(connection, msg);
 }
コード例 #6
0
ファイル: TcpBase.cs プロジェクト: Eropi4/clMinerGUI_ENG
 protected internal void SendMessage(TcpConnection connection, ulong messageType, ulong messageUID, byte[] data)
 {
     Message msg = new Message()
     {
         MessageTypeId = messageType,
         MessageUID = messageUID,
         MessageData = data
     };
     SendMessage(connection, msg);
 }