![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
KaZepKa |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 29.10.2011 Репутация: нет Всего: нет |
корейцы мутят ммохи на TCP и тащат) UDP не очень, просто он проще
|
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
KPEHDEL |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 31.3.2010 Репутация: нет Всего: нет |
Предпочитаю брать пример с valve, Blizzard и т.д. Из не популярных могу привести игру War§ow, надо отдать должное реализованной замечательной синхронизации.
Не совсем... Если делать что-то серьёздное на UDP, то простоты будет мало и прийдётся делать велосипеды. А это отнюдь не проще.
Ошибка была во втором варианте(может и не только), спасибо за ответ. Странно, что я сам не усмотрел. Это сообщение отредактировал(а) KPEHDEL - 24.9.2012, 16:04 |
||||||
|
|||||||
KPEHDEL |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 31.3.2010 Репутация: нет Всего: нет |
Только вот не пойму в чём она заключается.
Есть метод Authorisation.Auth(); - он запрашивает логин и пароль пользователя, отправляет серверу, если логин и пароль верны, сервер отвечает. При этом используется та же самая Reception_from_server(). В Reception_from_server() сделал несколько cout для наглядности:
Что мы видим: Пользователь вводит логин пароль, вызывается:
В консоль при вызове Reception_from_server() выводит:
Reception_from_server() - отработала успешно. Далее вызывается Winsock.messaging();. Которую я приводил ранее. Консоль выводит:
Если закоментить вызов Reception_from_server(), то оба потока работают правильно. Таки понятно, что стопится на строчке
(Дополнительный поток отвечающий за ввод, само собой это никак не задевает) Но не понятно почему, ведь при предыдущем вызове отработала правильно. С нетерпением жду вариантов. Это сообщение отредактировал(а) KPEHDEL - 25.9.2012, 10:29 |
||||||||||
|
|||||||||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: 10 Всего: 13 |
...
Это сообщение отредактировал(а) Леопольд - 24.9.2012, 21:38 -------------------- вопросов больше чем ответов |
|||
|
||||
feodorv |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
Не знаю, какому коду верить, но (int *)sizeof(&server_addr) - конструкция-катастрофа.
Могу лишь снова предположить, что от сервера ничего не поступало ![]() Это может быть связано с тем, что Вы не дозалогинились на сервер (одного логина/пароля может быть мало, и сервер ожидает от вас ещё какой-нибудь информации, и пока Вы её не пришлёте, он будет молчать). А, может, в Winsock.Sending_to_server(); Вы посылаете нечто такое, на что сервер не отвечает... А, может, после первой передачи Sending_to_server у Вас попортился адрес сервера в server_addr, и Вы шлёте не туда (по крайней мере, используйте разные экземпляры этой структуры на приём и на передачу)? Кто знает... В любом случае стоит подсмотреть сетевой трафик каким-нибудь сниффером (например, Ethereal/WareShark), чтобы убедиться, что ответы от сервера есть (или даже что после регистрации на сервере Вы шлёте UDP по нужному адресу). И уже тогда начинать искать программную ошибку ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||||
|
|||||||
KPEHDEL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 31.3.2010 Репутация: нет Всего: нет |
Естественно, это я просто скопировал не то. Ошибка была на стороне сервера. Всем спасибо. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |