Seite 1 von 3

server braucht client ip?

Verfasst: 29.07.2005 10:51
von sen-me
braucht der server eigentlich die ip vom client?
weil bei mir gehts nicht...
(ip ist mittlerweile wieder anders ^^)
Client:

Code: Alles auswählen

InitNetwork()
Global erg.w
Global id.w
id=OpenNetworkConnection("84.180.53.114",6832)
If id
   SendNetworkString(id,"String vom Client empfangen!")
   MessageRequester("Mitteilung","Ein String wurde zum Server gesendet!",#PB_MessageRequester_Ok)
   MessageRequester("Ende","OK drücken um die Verbindung zu trennen!",#PB_MessageRequester_Ok)
   CloseNetworkConnection(id)
Else
 MessageRequester("Error","Konnte keine Verbindung mit Server aufbauen! (Ist er gestartet?)",#PB_MessageRequester_Ok)
EndIf
server:

Code: Alles auswählen

InitNetwork()
Global buf.w
Global sev.l
Global id.w
Global quit.w
*buf=AllocateMemory(1000)
If CreateNetworkServer(6832)
   Repeat
    sev=NetworkServerEvent()
    If sev
     id=NetworkClientID()
     Select sev
      Case 1
       MessageRequester("Mitteilung","Eingehende Verbindung!",#PB_MessageRequester_Ok)
      Case 2
       MessageRequester("Mitteilung","Client "+Str(id)+" hat Daten gesendet!",#PB_MessageRequester_Ok)
       ReceiveNetworkData(id,*buf,1000)
       MessageRequester("Mitteilung","Inhalt: "+PeekS(*buf),#PB_MessageRequester_Ok)
      Case 3
       MessageRequester("Mitteilung","Client "+Str(id)+" hat eine Datei gesendet!",#PB_MessageRequester_Ok)
       ReceiveNetworkFile(id,"C:\")
      Case 4
       MessageRequester("Mitteilung","Client "+Str(id)+" hat die Verbindung getrennt!",#PB_MessageRequester_Ok)
       quit=1
     EndSelect
    EndIf
   Until quit=1
   MessageRequester("Mitteilung","Server schließt sich nach 'OK'!",#PB_MessageRequester_Ok)
   CloseNetworkServer()
Else
 MessageRequester("Error","Konnte keinen Server starten! (Port(6832) besetzt?)",#PB_MessageRequester_Ok)
EndIf
der client kann nicht mit dem server verbinden
(port aba frei)

Verfasst: 29.07.2005 11:50
von zigapeda
der client muss ja auf den server connecten d.h. wenn jemand die IP braucht dann der Client

Verfasst: 29.07.2005 12:03
von HeX0R
Laufen die beide auf der selben Kiste ?
Wenn ja, solltest du nicht die externe IP benutzen (wie du es scheinbar getan hast), sondern 127.0.0.1
Laufen sie auf verschiedenen Rechnern in deinem privaten Netzwerk ?
Dann solltest du die interne IP des Server-Rechners benutzen.
Falls dein Serverprogramm tatsächlich auf einem externen Rechner rennt, und der Port dort durchkommt, würde es auch funktionieren.

Verfasst: 29.07.2005 13:14
von sen-me
ich habs mitn freund getestet, aba ich konnte nicht connecten

muss mein port auch frei sein? (client)

Verfasst: 29.07.2005 13:21
von AndyX
Yo klar...

Verfasst: 29.07.2005 13:22
von sen-me
ja und wie machen all die andren multiplayer spiele das wie z.b. rainbow
da brauch ich zum mitspielen auch keine freien ports

oder die siedler 3

muss doch nur der host->server frei port haben?

Verfasst: 29.07.2005 14:31
von Hroudtwolf
Die haben einen Firewall Support ;-)

Verfasst: 29.07.2005 19:58
von sen-me
das heist?

Verfasst: 30.07.2005 11:40
von Mathias-Kwiatkowski
falls du einen router benutzt solltest du einen port freigeben und dich bei www.dyndns.org einen namen holen und deine ip immer nach einem neuen connect vom router modifizieren!

so mach ich es auch

der befehl damit der client dann auf mein server zugreiffen kann lautet dann:
mein port wollte ich nu nicht gerade freigeben aber nimm z.b
5505
oder so


ConnectionID =OpenNetworkConnection("pureos.ath.cx", Port)

Verfasst: 31.07.2005 15:30
von sen-me
kapier ich nicht? ich hab die doch aus der hilfe mal probiert (die ip 127.0.0.1 natürlich auf freund ip geändert)
und ging nicht
also müssen beide seiten port 6832 frei haben oda?