Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
1

Асинхронные сокеты

06.04.2015, 07:03. Просмотров 1147. Ответов 2
Метки нет (Все метки)

Создаю асинхронный сокет. Выполняю вызов WSASend, указываю WSAOVERLAPPED структуру с событием. Но оно никогда не сбрасывается. Более того, всегда считается что данные были отправлены и приняты удалённой стороной в полном размере, хотя на удалённой стороне даже до вызова WSARecv не доходит. Это так и должно быть? (Что-то там про потребление поставщиком данных)
Если ответ положительный, то как сделать так, чтобы сокет был асинхронным, но событие выставлялось только тогда, когда данные будут подтверждены удалённой стороной, так как это на блокируемом сокете.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2015, 07:03
Ответы с готовыми решениями:

C++ Асинхронные сокеты
Дайте ссылку на хороший гайд по асинхронным сокетам. Везде используются синхронные.

Асинхронные сокеты или потоки ?
Ребят qq, что лучше подойдёт: асинхронные сокеты или потоки ? Если, 1) игровой сервер ( менее 10...

(Winsock) Асинхронные сокеты или что-то подобное
Хочу создать сервер (Win32), который мог бы одновременно обрабатывать несколько клиентов. Что...

Сокеты
Здравствуйте, Дайте пожалуйста ссылочку на какой-то хороший справочник по сокетам в С++...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Ушел с форума
Эксперт С++
16419 / 7394 / 1185
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
11.04.2015, 10:36 2
Цитата Сообщение от Enno Посмотреть сообщение
Выполняю вызов WSASend, указываю WSAOVERLAPPED структуру с событием. Но оно никогда не сбрасывается.
Оно должно не сбрасываться, а устанавливаться при завершении I/O.

Цитата Сообщение от Enno Посмотреть сообщение
Более того, всегда считается что данные были отправлены и приняты удалённой стороной в полном размере, хотя на удалённой стороне даже до вызова WSARecv не доходит. Это так и должно быть?
Нет. Но чтобы понять, что происходит, лучше показать код.

Цитата Сообщение от Enno Посмотреть сообщение
как сделать так, чтобы сокет был асинхронным, но событие выставлялось только тогда, когда данные будут подтверждены удалённой стороной
Событие устанавливается не при получении данных, а когда I/O-операция
завершается или отменяется, не важно с каким статусом.
1
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
11.04.2015, 14:04  [ТС] 3
Цитата Сообщение от Убежденный Посмотреть сообщение
Оно должно не сбрасываться, а устанавливаться при завершении I/O.
Я имел ввиду что всегда операция завершается успешно и никогда на объекте не получается ожидать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2015, 14:04

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Сокеты
Ребята, подскажите отчего такое происходит и как бороться. Ситуация такая. Программа создает сокет...

Сокеты
Здравствуйте!Начал изучать сокеты в винде, сервер и клиент есть, но у меня есть несколько вопросов:...

Сокеты
объясните ,пж,те места ,которые мне непонятны в коде. //разве мы не должны делать еще и так...

Сокеты в C++
В сервере ошибок нет, он ждёт подключения, а клиент выдает ошибку 10049, и закрывается. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.