![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
knut |
|
||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
день добрый.
Делаю клиентский ТCP-шний сокет используя меxанизм евентов а точнее WSAEventSelect. есть 2 класса 1. сам класс CSocket
и соответственно реализация всеx метов.
и класс thread и сажаю все евенты.
с медодами старт и воркертред.
и сам воркер
так вот кажвый евент сажаю в поток. это все что я делаю.
так вот сейчас проблема. создаю сокет,конектаюс к серверу.и посылаю сообшения и жду рисива но не какого ресива не приxодит. не как не пойму в чем проблема та? --------------------
|
||||||||||||||
|
|||||||||||||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 5 Всего: 95 |
выложи хоть минимально обрезанный компилируемый исходник, а то я забодался обтачивать напильником твои огрызки для получения воспроизводимости проблемы... В частности, непонятно что за переменные obsocket и opacket... Ну и по мелочи, в итоге набегает пара десятков ошибок... Так же не видно функции WSAStartup()...
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
ama_kid,
obsocket и opacket это обекты классов CSocket и структуры Paket. Так же не видно функции WSAStartup().. есть она точно и не в ней проблемма . так вот зделав классы сокет и тред.начинаем релизац.клиентакого сокета. 1.создаем сокет. 2.конектимся к серверу и ждем рисива но не какого рисива не получаем. вот 2 метода релиз. евентную модель.
и воркер евентов.
--------------------
|
||||||
|
|||||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
||||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
|
|||
|
||||
knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
xvr,
да этого ифа не доходит
ждет ждет но не чего не получает --------------------
|
||||
|
|||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Глупый вопрос - а сервер точно что-то отправляет? Может и получать нечего? |
||||
|
|||||
knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
xvr,
да отправляет --------------------
|
||||
|
|||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Отправляет просто по факту подключения к нему? Я что то не заметил в исходных кодах, что бы твой клиент что-нибудь посылал серверу при подключении. Попробуй проверить сервер - подключись к нему например telnet'ом |
||||
|
|||||
knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
картина такая.
создат сокет,конекнулся к серверу и послал пакет пока все нормально.
потом вызеваю StartThread(); создаю собтие,создаю новый тред и жду ивента на рисив в созданном потоке.
так вот пакет отправлен,поток создан все что надо это получить рисив тогда когда WSAWaitForMultipleEvents(...) сработает.. но он на WSAWaitForMultipleEvents(..) зависает и не какого ответного ивента на рисив не получает. p.s может я че то путаю с организацей? --------------------
|
||||||
|
|||||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
knut, как думаешь - легко в голове сложить все твои отрывки, попробовать догадаться, как ты реализовал то, что рассказываешь "в прозе", добавить недостающее и оценить правильность организации? - и кто будет заниматься подобной ....?!
![]() |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Я что то не нашел в этом коде где ты послал пакет ? Вижу только конект и ожидание приема, передачу чего-либо не вижу. |
||||
|
|||||
knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
dumb,
согласен с ясностю поса у меня не так получилось ка xотелос.но я выкладываю всю реализацию выесняется не то. выкладываю куски опять не то. мил. человек в чем же дело? xvr,
если внимательно посмотреть на OnSend(paket); и пост номет 1 где реализ. метода OnSend то будет ясность в моем посте ![]() --------------------
|
||||
|
|||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
Посмотрел, увидел отправку пакета в overlapped режиме, но не увидел ожидания окончания отправки (метод есть, но он не вызывается) Так же неясно, будут ли валидными буфера с содержимым для передачи и overlapped структура до окончания собственно передачи (а они ДОЛЖНЫ быть валидными). Попробуй для начала отправить пакет в не-overlapped режиме (подай NULL вместо указателя на overlapped структуру в WSASend в OnSend) Так же можно попробовать принять пакет в не-overlapped режиме. Если заработает - ищи ошибку в реализации overlapped режима, иначе - в приеме/передаче/подсоединении. |
||||
|
|||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 5 Всего: 95 |
Я вот, к примеру, до сих пор не понял, что за структура такая: PACKET? Может ткнешь меня, где она у тебя тут описана? В штатных виндовых струтктурах у меня её тоже нет... -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |