|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.01.2010, 17:30 | #1 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
WinSock
Пишу сейчас сетевое приложение. Суть такова: сервер принимает данные от одного клиента и рассылает их всем подключенным клиентам. Это бы не было проблемой если я бы использовал бы стандартные компоненты среды, но... легких путей не люблю. Я использую WinSock. Разобрался с блокирующими сокетами, я так понял с помощью них нельзя так сделать как я хочу. Вот теперь разбираюсь с неблокирующими сокетами. Но не совсем все понятно. Не могли бы вы подсказать соответствующий материал. Плюс у меня есть наработки с блокирующими сокетами .
|
01.01.2010, 18:48 | #2 |
Пользователь
Регистрация: 13.12.2008
Сообщений: 27
|
Могу посоветовать С++ глазами хакера.
|
02.01.2010, 13:46 | #3 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Crusher благодарю. В этой книге нашел, что хотел. Вопросов больше нет . Наконец то разобрался.
Последний раз редактировалось profi; 02.01.2010 в 14:55. |
03.01.2010, 12:51 | #4 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Столкнулся со следующей проблемой. Написал простое клиент-серверное приложение с использованием неблокирующих сокетов. Функция accept(Server_Listen, (sockaddr*)&clientaddr,&Size) возвращает дескриптор клиентского сокета, но для всех соединений дескриптор клиентов один и тот же (проверял на разных машинах). Теперь вопрос. Как мне с помощью функции send отправить всем клиентам сообщение если дескриптор один и тот же?
|
03.01.2010, 16:24 | #5 |
Пользователь
Регистрация: 13.12.2008
Сообщений: 27
|
Я не проверял, но думаю accept должен возвращать разные дескрипторы.
|
03.01.2010, 17:00 | #6 |
Форумчанин
Регистрация: 03.01.2010
Сообщений: 229
|
accept возвращает разные значение. Уверен, что когда следующий клиент то предыдущий уже разорвал соединение. а winsock выделяет первый свободный номер сокета. Мысль уловил? проверь есть ил соединение с предыдущим клиентом
подпись
|
03.01.2010, 17:05 | #7 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
liljon мысль уловил и исправил. Спасибо огромное . Все заработало.
|
11.01.2010, 20:40 | #8 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Можете сказать в чем отличия функций TransmitFile и TransmitPackets при передачи файлов?
|
11.01.2010, 21:13 | #9 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Как минимум тем, что первая Win2000+, а вторая WinXP/2003+.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WinSock | Killbrum | Win Api | 1 | 18.10.2009 15:15 |
WinSock.Ошибка 87 | AngelOfDeath | Работа с сетью в Delphi | 1 | 31.03.2009 10:46 |
Winsock не соединяет | Da$aD | Работа с сетью в Delphi | 0 | 11.07.2008 22:57 |
Proxy в WinSock | SHEI'TI | Работа с сетью в Delphi | 3 | 29.03.2008 18:27 |