powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с несколькими TcpClient
10 сообщений из 10, страница 1 из 1
Работа с несколькими TcpClient
    #39833706
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я создаю клиента и добавляю его в список
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
client = server.EndAcceptTcpClient(AR);
stream = client.GetStream();

Receive = new Thread(new ThreadStart(rx));
                if (!Receive.IsAlive)
                {
                    Receive.IsBackground = true;
                    Receive.Start();
                }


Когда я попадаю в
Код: c#
1.
2.
3.
4.
5.
6.
public void rx()
{
     if (stream.DataAvailable)
    {
    }
}


как я могу знать от какого клиента пришло сообщение?
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833740
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то есть как я знаю к какому клиенту обратиться в rx() ?
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833848
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе надо что то прочитать от него или написать ему.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
      public async Task Mhetod1()
        {
            TcpListener listener = new TcpListener(1111);
            while (true)
            {
                var client = await listener.AcceptTcpClientAsync();
                var stream = client.GetStream();
                await RunStream(stream);
            }
        }
        async Task RunStream(NetworkStream stream)
        {
            await Task.Delay(0);
            //чтение-запись в поток
        }


При жутком желании можешь в RunStream client передать.
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833868
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо. попробую.
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833929
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это для одного клиента
Код: c#
1.
2.
3.
4.
5.
async Task RunStream(NetworkStream stream)
        {
            await Task.Delay(0);
            //чтение-запись в поток
        }


а если я хочу послать ответ всем клиентам ?
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833936
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7это для одного клиента
Код: c#
1.
2.
3.
4.
5.
async Task RunStream(NetworkStream stream)
        {
            await Task.Delay(0);
            //чтение-запись в поток
        }



а если я хочу послать ответ всем клиентам ?
Посылай каждому
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833940
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилjenya7это для одного клиента
Код: c#
1.
2.
3.
4.
5.
async Task RunStream(NetworkStream stream)
        {
            await Task.Delay(0);
            //чтение-запись в поток
        }



а если я хочу послать ответ всем клиентам ?
Посылай каждому
тогда мне нужно подсоединившихся клиентов сохранять в лист. и удалять из листа при отключении.
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833941
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7а если я хочу послать ответ всем клиентам ?
Используй более низкоуровневый udp или высокоуровневый, например RabbitMQ, протокол :)
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833942
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно делать udp broadcast рассылку на 255.255.255.255 но коммутаторы многие вас пошлют лесом, и получат это только те, кто находятся в рамках коммутационной сети в лучшем случае, быстро забьете канал. Лучше по TCP гарантированно доставить каждому
...
Рейтинг: 0 / 0
Работа с несколькими TcpClient
    #39833954
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Изопропилпропущено...

Посылай каждому
тогда мне нужно подсоединившихся клиентов сохранять в лист. и удалять из листа при отключении.
Придется.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Работа с несколькими TcpClient
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]