| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > мой IrrNet |
| Автор: Dronchik 11.2.2009, 18:33 |
| Здарова всем. Сейчас работаю над созданием своей версии сетевого модуля для иррлихта. Пишу для ирр 1,4. Вот монолог, поясняющий суть проблемы: " Dronchik (20:44) : проблема вот в чём Dronchik (20:46) : у меня клиент с ид 0 видит клиента с ид 1, а 1 не видит 0 Dronchik (20:46) : с большим количеством клиентов пока не пробывал Dronchik (20:46) : в этом вся проблема Dronchik (20:46) : понять почему так происходит не могу " Вот вся трабла. Ссылка: http://dronchik.3dn.ru/network.rar . Для тех у кого нет библиотек и заголовочных файлов ирр 1,4 вот ссылка - http://dronchik.3dn.ru/irr1_4.rar Сам врубиться, почему происходит вышеописанное не могу. На мой взгляд, судя по коду, всё правильно, и должно работать так, как надо. Т.е. каждый клиент должен видеть другого клиента. Прошу помочь |
| Автор: Rpahut 11.2.2009, 23:07 | ||
Ни фига не рублю в иррлихт, но вот ЭТО мне кажется странным
NLS_Message(0, MSG_SERVER_STRUCT, binary) - здесь разве не единица должна быть? |
| Автор: Dronchik 12.2.2009, 11:46 |
| Rpahut, сенкс! |
| Автор: GoldFinch 12.2.2009, 12:35 |
| if(connect[1]==true) я понимаю еще зачем пишут if(true==connect[1]) но if(connect[1]==true) это глупость |
| Автор: Dronchik 12.2.2009, 14:46 |
| GoldFinch, объясни вообще почему ты решил что это глупо. Если элемент массива с ид 1 равен труЪ то выполнять действие. А этот элемент массива отвечает за подключённость того или иного клиента. |
| Автор: Ryoga 12.2.2009, 17:16 |
| Мне тоже интересно. |
| Автор: Rpahut 12.2.2009, 22:02 |
Интересно. А сервер видит обоих клиентов? |
| Автор: GoldFinch 12.2.2009, 23:08 |
| Ryoga, да, if(true==connect[1]) пишут затем чтобы не написать if(true=connect[1]) а if(connect[1]==true) это глупость потому что if принимает булево выражение, а x==TRUE тождественно x |
| Автор: Ryoga 13.2.2009, 00:17 | ||
Странно, что Вы это глупостью не считаете, благо TRUE==x тождественно x. Для себя могу сказать, что такой код мне зачастую легче читать - что часто важнее, чем потеря в производительности, которая там врятли велика. Впрочем, своё мнение я никому не навязываю. |
| Автор: arilou 13.2.2009, 15:37 |
| Ryoga, GoldFinch, не оффтопьте |
| Автор: Dronchik 13.2.2009, 17:25 |
| Rpahut, сервер видит обоих клиентов. Если вы желаете увидить, что сервер видит обоих клиентов, то можете раскоментировать строки, отвечающие за создание моделей клиентов. Там видно всё, как, какой клиент, и куда перемещается и где находится в данный момент. А также в консоли сервера прописывается позиция каждого клиента каждую прорисовку окна(вне зависимости от того, активно окно или нет(выделенный сервер ведь не будет постоянно у каждого на компе активным быть?!)). Ryoga, хз, но мне более удобно написать так, как я пишу. Хотя... Я могу писать и так как вы сказали. Мне это не составляет труда. |