Отправка сообщения клиенту от сервера c#

247
22 февраля 2018, 11:23

Доброго времени суток. Пытаюсь наладить передачу сообщения от клиента другому клиенту через сервер(использую TcpListener/TcpClient). Сообщение содержит в себе информацию о получателе(ip или id клиента, не важно). Проблем с доставкой сообщения серверу нет. Я это делаю так: Клиент:

    int port = 8005;
        TcpClient client = new TcpClient(ServerIp.Text, port);
        Byte[] data = System.Text.Encoding.ASCII.GetBytes("Message " + "ClientIp.Text " + Input.Text);
        NetworkStream stream = client.GetStream();
        stream.Write(data, 0, data.Length);
        stream.Close();
        client.Close();

Получение сообщение на сервере и его дальнейшая обработка:

    while (true)
        {
            Console.Write("\nWaiting for a connection... ");            
            ThreadPool.QueueUserWorkItem(ObrabotkaZaprosa, server.AcceptTcpClient())      
            counter++;
            Console.Write("\nConnection №" + counter.ToString() + "!");
        }    

Обработка:

    static void ObrabotkaZaprosa(object client_obj)
    {
        Byte[] bytes = new Byte[256];
        String data = null;           
        TcpClient client = client_obj as TcpClient;           
        data = null;                       
        NetworkStream stream = client.GetStream();
        int i;          
        while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
        {                
            data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
            Console.WriteLine(Convert.ToString(client.Client.RemoteEndPoint));
            Console.WriteLine(data);
            string[] splitedData = data.Split(' ');
            if (splitedData[0] == "Message")
            {                                                      
                //Здесь должна быть отправка сообщения другому клиенту
            }                           
        }
        client.Close();
    }

То есть суть в том, что клиент должен получить сообщение с пометкой, что это именно сообщение для передачи клиенту и с айпи клиента, а дальше само сообщение. Как отправить сообщение обратно я понять могу, но как это сообщение отправить другому клиенту я что-то никак не могу допереть. Как мне следует это сделать? Спасибо

READ ALSO
Не работает нажатие на InlineKeyboardButton

Не работает нажатие на InlineKeyboardButton

Работа с TelegramBot Описываю бота

276
C# Ошибка SQL Error 52 на другом компе

C# Ошибка SQL Error 52 на другом компе

Имеется программа на C# с базой данных (MS SQL), использую Visual Studio 2015Что делать? app

228
Показать скрытую форму через открытую

Показать скрытую форму через открытую

Здравствуйте! На главном окне у меня присутствует авторизация, при успешном её прохождении появляется новое окно, а главное скрывается:

167
Привязка PasswordBox к SecureString и его сериализация UWP

Привязка PasswordBox к SecureString и его сериализация UWP

Появился следующий вопрос: можно ли каким-то образом привязать PasswordBox к SecureString, следующим образом:

250