TCP
Почитав статьи: Вышло вот
Сервер: svrGame=CreateTCPServer(7777) If svrGame<>0 Then Print "Сервер запущен удачно." Else Print "Ошибка создания сервера." End End If While Not KeyHit(1) strStream=AcceptTCPStream(svrGame) If strStream Then While Not Eof(strStream) Print ReadString$(strStream) Delay 2000 Wend Else Print "От Apollo X ничего нет ..." Delay 1000 End If Wend End Клиент: strmGame=OpenTCPStream("127.0.0.1",7777) If strmGame<>0 Then Print "Клиент соединился с сервером." Else Print "Сервер не отвечает." WaitKey End End If While Not KeyHit(1) ; отправим сообщение серверу WriteString strmGame,"Центр Управления, это Apollo X ..." Print "Сообщение Центр Управления отправлено успешно..." Delay 2000 Wend Все в роде бы хорошо, вот только как это преобразовать в игру, т.е. шарик - игрок передвигается по плоскости. (проблема в передаче координат, не могу понять как, всего то нужно передать координаты X,Y и их же раздать всем клиентам. ) Надеюсь на Вашу помощь. |
Ответ: TCP
|
Ответ: TCP
Цитата:
Когда то натыкался на примере с шариками на плоскости, теперь найти не магу . Может у кого остался в заначке? Поделитесь. 1пост с вопросом еще в силе. |
Ответ: TCP
Еще вопросик:
сервер svrGame=CreateTCPServer(7777) If svrGame<>0 Then Print "Сервер запущен удачно." Else Print "Ошибка создания сервера." End End If While Not KeyHit(1) strStream=AcceptTCPStream(svrGame) If strStream Then While Not Eof(strStream) x1 = Readline(strStream) x2 = Readline(strStream) x3 = x1 +x2 Writeline strmGame," x3 Delay 2000 Wend Else Print "От Apollo X ничего нет ..." Delay 1000 End If Wend End клиент x1 =10 x2 = 20 strmGame=OpenTCPStream("127.0.0.1",7777) If strmGame<>0 Then Print "Клиент соединился с сервером." Else Print "Сервер не отвечает." WaitKey End End If While Not KeyHit(1) ; отправим сообщение серверу WriteLine strmGame, x1 WriteLine strmGame, x2 Print ReadLine(strStream) Print "Сообщение Центр Управления отправлено успешно..." Delay 2000 Wend После запуска вылетает Ошибка "Stream does not exist", помогите. Без "Print ReadLine(strStream)" все нормально работает, подскажите как получать сообщения от сервера. Заранее СПС. Извиняюсь, моя АШИПКА в коде. Выделил красным. З.Ы. Никогда не делайте Ctrl+C & Ctrl+V, пишити ручками, думайте головой :) Всем удачи! |
Ответ: TCP
Объясните, пожалуйста, как правильно пользоваться TCP?
Я сделал сервер и изменил код своей игры так сказать под сеть (делал по примеру TCPEngine.bb). Внимательно разобрав код я сделал что бы координаты позиции, поворота и скорости объектов передавались отдельно, но не работает почему-то (видать не до конца понял). И еще как можно создавать "нового игрока" в клиенте когда приходит определенное сообщение от сервера (напр: NewPlayer)? А то щас приходящие данные каждый раз проверяются на имя игрока и если имя новое, то создается игрок. Такой способ как то не удобен.. |
Ответ: TCP
ну я пользуюсь такой конструцией
Type Player Field stream End Type port=989789 tcp=CreateTCPServer(port) repeat pot=AcceptTCPStream(tcp) If pot Then p.Player=New Player p\stream=pot ;создаем новый тип и записываем поток ;тут размещаем код когда подключается клиент EndIf For p.player=Each player If ReadAvail(p\stream) Then com$=ReadLine(p\stream) ;здесь проверяем не пришло ли сообщение , и если пришло то читаем его endif next until keyhit(1) end P.S может такая конструкция не совсем правельная :) |
Ответ: TCP
Я делал систему ивентов, на которые подписываются листенеры. Например приходит мессадж NewPlayer - вызываются все подписанные на него листенеры и выполняют метод Process (например), в котором уже как раз и создаётся новый игрок.
|
Часовой пояс GMT +4, время: 08:04. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot