![]() |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
BlitzMax\samples\mak\gnetchat.bmx И в этой же папке: BlitzMax\samples\mak\gnetdemo.bmx Второй особенно интересен. Код немного сложноват, но для экспериментов пойдёт. В примерах используется стандартная библиотека gnet, она не очень производительна, но для простеньких игр и экспериментов подходит замечательно. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Мне стыдно,но я полный нуль в этом.Почему не подключается клиент к серверу
сервер: Strict Import BRL.GNet Global port=50000 Global host:TGNetHost=CreateGNetHost:TGNetHost() GNetListen( host,port ) While Not KeyHit( KEY_ESCAPE ) Wend клиент: Import BRL.GNet Global port=50000 SeedRnd MilliSecs() Global host:TGNetHost=CreateGNetHost:TGNetHost() f=GNetConnect(host,"127.0.0.1",port) Print f подскажите направление моей тупости. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
пожалуйста,напишите в 5 строчках создание серва и создание клиента.Как узнать полключился клиент к серву или нет?
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
GNetSync(host) в цикле сервера.
Эта ф-ция - обработчик сервера. Если её не вызывать он и работать не будет. Не забывай после работы закрывать соединения! Иначе можно получить кучу багов из-за открытых остаточных соединений (см. порт занят). |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Огромное спасибо!!! С GNetSync(host) клиент сразу подключился.Я немного буду задавать глупые для Вас вопросы,но хотел бы получать взамен полезные ответы для себя.
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Подключится,подключился,но передать данные зи клиента на сервер неполучается.Подскажите какую команду еще забыл..
сервер: Import BRL.GNet Global port=50000 SeedRnd MilliSecs() Global host:TGNetHost=CreateGNetHost:TGNetHost() Global me:TGNetObject=CreateGNetObject:TGNetObject(host) GNetListen( host,port ) While Not KeyHit( KEY_ESCAPE ) GNetSync(host) If Not me Print GetGNetString$(me,0) Wend CloseGNetHost (host) клиент : Import BRL.GNet Global port=50000 Global add$="127.0.0.1" Global host:TGNetHost=CreateGNetHost:TGNetHost() Global me:TGNetObject=CreateGNetObject:TGNetObject( host ) If GNetConnect(host,add,port) SetGNetString (me,0,"Ready") EndIf CloseGNetHost (host) |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Cообщения, что на сервере, что на клиенте обрабатываем так:
Код:
For Local obj:TGNetObject=EachIn GNetObjects( host ) Цитата:
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
как правильно понять эту ошибку - Unhandled Exception: Assert failed
необработанное исключение ? Это вылетает когда обрабатываю сообщения на сервере. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
провел 5 часов не вставая из-за компа,выпил 3 бокала чая,но так и не смог передать от клиента серверу данные.Пробывал понять как устроен на сокетах сервер и тоже упирался в тупик.Не хочу на Blitz3d там 2d графика плохо реализованна, а Fastimage с ключем нет.Хочу понять здесь сеть,но нервы начинают сдавать.
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Вложений: 2
Я когда-то делал простенький клиент-сервер на максе, на основе TCP.
Суть: 1. клиенты представляют из себя движущиеся объекты (в пределах экрана) 2. сервер должен следить за перемещениями этих объектов, отображая всех на экране Данные от клиентов передаются 1 раз в секунду, можно изменить "timeSendPosInterval = 1000". Клиенты могут отправлять текстовую инфу серверу, она отобразится в поле "info". Подключение происходит на локальный адрес, можно изменить: "remoteIp = HostIp("127.0.0.1")". По умолчанию порт для подключения 50000, при наличии файла port.txt в корне с exe-шниками - порт загружается оттуда. Примечание: для получения русских символов есть простецкий конвертер в файле utils.bmx. Запуск: 1. запустить tcpServer 2. запустить tcpClient один или несколько раз tcpClient.bmx tcpClient.bmx utils.bmx Прилагаю код и скомпиленные файлы. ПС: Возможно, стоит оформить этот пост в раздел "FAQ и уроки". |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Твой урок у меня уже есть и я его разбирал.Но возникали проблемы,все равно сервер не получает значения.Вопрос: Сервер обязательно должен быть сделан на основе Типов? Мне главное понять работу сокетов.Другой вопрос,как запустить несколько клиентов на одной машине?При запуске 2 клиента пишет ошибка и не запускается.
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Клиент должен знать ip адрес сервера и порт. Ошибка в клиенте будет только если сервер не запущен.
Какая конкретно ошибка возникает? Кинь весь код, посмотрю. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Как урок нормально, но в будущем на заметку: сервер не должен заниматься рендерингом вообще, а только логикой и обменом данных, когда рендерингом заниматься должны клиенты.
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
На гитхабе в bmx-ng (https://github.com/bmx-ng) сейчас наблюдается копошение, и судя по всему они там сделали возможность компиляции blitzmax кода под андроид и rasberry pi. Никто не заглядывал туда? Я слишком криворук, чтобы проверить все сам...
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Вопрос по maxgui.
Есть форма, к ней привязан канвас. Я рисую в канвас, но ничего не вижу. Главный цикл построен на бесконечном цикле с ожиданием событий и последующим разгребанием событий. Ещё такая фишка - при нажатии на кнопку ставится флаг "перерисовать канвас", и всё ок - перерисовывается. Если же я в событии EVENT_WINDOWSIZE ставлю этот флаг, то нифига - чёрный экран. чё за хрень такая понять не могу. Flip в конце цикла стоит. UPD: проблему решил флаг у флипа - Flip(0), с дефолтным -1 были глюки. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
У меня простой вопрос.
Начал не давно изучать BlitzMax и столкнулся вот с какой проблемой. Я создал окно и пару кнопок используя MaxGui, и не как не могу найти что нужно сделать чтобы проверить нажата ли кнопка или нет, для того чтобы запустить какое нибудь событие. Если не сложно не могли бы вы скинуть простой пример кода: Окно плюс пару кнопок и проверка на нажатие. P.S. Вопрос закрыт разобрался. |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
А ведь наверно полезные сайты были?! |
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Цитата:
Понятно, мой юный булчанин? Цитата:
|
Часовой пояс GMT +4, время: 11:58. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot