2 using System.Collections.Generic;
4 using System.Net.Security;
5 using System.Net.Sockets;
10 static class CommunicationPrimitives
12 public static string RequestPublicKey =
"REQPBKEY";
13 public static string SendPublicKey =
"PUBKEY";
14 public static string SendEncryptionKey =
"SYMKEY";
15 public static string AcceptEncryptionKey =
"SYMKEYOK";
17 public static Message GetMessage(TcpClient client, SslStream sslStream =
null)
20 if (sslStream !=
null)
26 stream = client.GetStream();
28 uint messageLength = (uint)client.Available;
29 byte[] messageBuffer =
new byte[messageLength];
30 if (messageLength > 0)
32 stream.Read(messageBuffer, 0, (
int)messageLength);
34 Message message =
new Message(messageLength, messageBuffer);
38 public static void SendMessage(TcpClient client, Message message, SslStream sslStream =
null)
41 if (sslStream !=
null)
47 stream = client.GetStream();
49 stream.Write(message.MessageBytes, 0, (
int)message.MessageLength);
53 public static Message BuildMessage(
byte[] msgData)
55 Message message =
new Message((ushort)msgData.Length, msgData);