Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 28.12.2019, 18:27   #1
nikikust
AnyKey`щик
 
Регистрация: 01.08.2017
Сообщений: 18
Написано 0 полезных сообщений
(для 0 пользователей)
GNet

Здравствуйте, у меня такой вопрос, как подключиться по remoteIp а не по локалке (127.0.0.1) в примере gnet-а, порты писал, свой ip тоже, но не подключается.

Если нет примера, то вот код:
Strict

Import BRL.GNet

AppTitle="GNet Test2"

Local host:TGNetHost=CreateGNetHost()

Local me:TGNetObject
Local chat$,info$

Graphics 800,600,0,15

Repeat

	Local c=GetChar()
	
	Select c
	Case 8
		If chat chat=chat[..chat.length-1]
	Case 27
		If Confirm( "Quit?" )
			CloseGNetHost host
			End
		EndIf
	Case 13
		If chat.find("/")=0
			chat=chat[1..]
			Local cmd$=chat
			Local arg$
			Local i=chat.find(" ")
			If i<>-1
				cmd=chat[..i]
				arg=chat[i+1..]
			EndIf
			Select cmd
			Case "create"
				If me
					info="Already created"
				Else
					me=CreateGNetObject( host )
					SetGNetString me,0,arg
					SetGNetString me,1,"Ready"
				EndIf
			Case "close"
				If me
					CloseGNetObject me
					me=Null
				Else
					info="Not created"
				EndIf
			Case "quit","exit"
				CloseGNetHost host
				End
			Case "nick"
				If arg
					If me SetGNetString me,0,arg
					info="Nick changed to "+arg
				Else
					info="Expecting arg"
				EndIf
			Case "listen"
				Local port=12345
				If arg port=Int(arg)
				If GNetListen( host,port )
					info="Listening on port "+port
				Else
					info="Listen failed"
				EndIf
			Case "connect"
				If arg
					Local addr$=arg
					Local port=12345
					Local i=arg.find(":")
					If i<>-1
						addr=arg[..i]
						port=Int(arg[i+1..])
					EndIf
					If GNetConnect( host,addr,port )
						info="Connected to "+addr+":"+port
					Else
						info="Failed to connect to "+addr+":"+port
					EndIf
				Else
					info="Expecting arg"
				EndIf
			Default
				info="Unrecognized command '"+cmd+"'"
			End Select
		Else
			If me SetGNetString me,1,chat
		EndIf
		chat=""
	Default
		If c>31 And c<127 chat:+Chr(c)
	End Select
	
	GNetSync host
	
	Cls

	Local y,h=GraphicsHeight()
	
	For Local obj:TGNetObject=EachIn GNetObjects( host,GNET_ALL )
		If obj.state()=GNET_CLOSED Continue
		If obj=me
			SetColor 255,255,255
		Else
			SetColor 0,128,255
		EndIf
		DrawText GetGNetString( obj,0 )+":"+GetGNetString( obj,1 ),0,y
		y:+16
	Next
	
	SetColor 255,255,0
	DrawText info,0,h-32
	
	SetColor 0,255,0
	DrawText ">"+chat,0,h-16
	DrawRect TextWidth(">"+chat),h-16,8,16
	DrawText "/create nick    /listen    /connect host    /quit    /nick newnick",0,h-48
	
	Flip
	
Forever


Спасибо
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:26.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com