Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2010, 17:30   #1
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию WinSock

Пишу сейчас сетевое приложение. Суть такова: сервер принимает данные от одного клиента и рассылает их всем подключенным клиентам. Это бы не было проблемой если я бы использовал бы стандартные компоненты среды, но... легких путей не люблю. Я использую WinSock. Разобрался с блокирующими сокетами, я так понял с помощью них нельзя так сделать как я хочу. Вот теперь разбираюсь с неблокирующими сокетами. Но не совсем все понятно. Не могли бы вы подсказать соответствующий материал. Плюс у меня есть наработки с блокирующими сокетами .
Вложения
Тип файла: rar Sockets TCP.rar (696.9 Кб, 15 просмотров)
profi вне форума Ответить с цитированием
Старый 01.01.2010, 18:48   #2
Crusher
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 27
По умолчанию

Могу посоветовать С++ глазами хакера.
Crusher вне форума Ответить с цитированием
Старый 02.01.2010, 13:46   #3
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Crusher благодарю. В этой книге нашел, что хотел. Вопросов больше нет . Наконец то разобрался.

Последний раз редактировалось profi; 02.01.2010 в 14:55.
profi вне форума Ответить с цитированием
Старый 03.01.2010, 12:51   #4
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Столкнулся со следующей проблемой. Написал простое клиент-серверное приложение с использованием неблокирующих сокетов. Функция accept(Server_Listen, (sockaddr*)&clientaddr,&Size) возвращает дескриптор клиентского сокета, но для всех соединений дескриптор клиентов один и тот же (проверял на разных машинах). Теперь вопрос. Как мне с помощью функции send отправить всем клиентам сообщение если дескриптор один и тот же?
profi вне форума Ответить с цитированием
Старый 03.01.2010, 16:24   #5
Crusher
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 27
По умолчанию

Я не проверял, но думаю accept должен возвращать разные дескрипторы.
Crusher вне форума Ответить с цитированием
Старый 03.01.2010, 17:00   #6
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

accept возвращает разные значение. Уверен, что когда следующий клиент то предыдущий уже разорвал соединение. а winsock выделяет первый свободный номер сокета. Мысль уловил? проверь есть ил соединение с предыдущим клиентом
подпись
liljon вне форума Ответить с цитированием
Старый 03.01.2010, 17:05   #7
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

liljon мысль уловил и исправил. Спасибо огромное . Все заработало.
profi вне форума Ответить с цитированием
Старый 11.01.2010, 20:40   #8
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Можете сказать в чем отличия функций TransmitFile и TransmitPackets при передачи файлов?
profi вне форума Ответить с цитированием
Старый 11.01.2010, 21:13   #9
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Как минимум тем, что первая Win2000+, а вторая WinXP/2003+.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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