Spielen übers Internet?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

Leonb

BeitragMo, Feb 28, 2005 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
also hast du solltest erstmal ein Programm schreiben. dann gibste einfach die IP: 127.0.0.1 ein das ist der localhost!
Dann öffnest du das Prog und schickst dann was an dich selbst
wenn das klappt, änderst du die IP 127.0.0.1 in deine (www.wasistmeineip.de) und dann ma schaun obs klappt........
meine HP:
http://www.scz.de.ms
 

-]Holoman[-

BeitragDi, März 01, 2005 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke das ihr euch so nett unterhaltet, aber könnte mir jemand weiterhelfen ?

Mez_K

BeitragDi, März 01, 2005 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
So funktionierts bei mir:

Der jenige der hostet:
Code: [AUSKLAPPEN]

     Stream1 = CreateTCPServer(Port)    ;'n server aufmachen
     jemda = AcceptTCPStream(Stream) ;und darauf warten das jemda <> 0 ist

     angekommen = ReadString(jemda)   ;um nachricht zu lesen
     WriteString(jemda,Nachricht1)      ; um Nachricht zu senden

Der jenige der joint:
Code: [AUSKLAPPEN]

     Stream2 = CreateTCPStream(IP,Port) ; zum server verbinden

     angekommen = ReadString(Stream2)   ;um nachricht zu lesen
     WriteString(Stream2,Nachricht2)     ; um Nachricht zu senden


wenn man mehr clienten hat muss man für jeden einzelnen den jemda(mit AcceptTCPStream ermittelt) speichern.

es ist vollbracht... 8)
was ist der sinn des lebens?
das leben selbst?
das ei?
das huhn?

www.derfelix.de.gg ---> Downloads

Mez_K

BeitragMi, März 09, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
hier mein internet pingpongspiel ohne ball - es funktioniert nicht
WARUM???

Code: [AUSKLAPPEN]

ipv$ = Input("IP?: ")

streami = CreateUDPStream(8000)
streamo = CreateUDPStream(8001)

join = 0

If Not ipv$ = "" Then
   ip = INT_IP(ipv$)
   join = 1   
   Goto join
EndIf

Print "warten auf client..."
Repeat
   ip = RecvUDPMsg(streami)
Until ip <> 0

.join

Graphics 640,480,0,3

x1 = 300
x2 = 300

Print DottedIP$(ip)

Repeat
   
   If join = 1 Then
      x1 = MouseX()
      WriteString(streamo,"x1" + x1)
      SendUDPMsg streamo,ip,8000
   Else
      x2 = MouseX()
      WriteString(streamo,"x2" + x2)
      SendUDPMsg streamo,ip,8000
   EndIf
   
   If Not 0 = ReadAvail(streami) Then
      nachr$ = ReadString$(streami)
      Select Left$(nachr$,2)
         Case "x1"
            x1 = Int(Replace(nachr$,"x1",""))
         Case "x2"
            x2 = Int(Replace(nachr$,"x2",""))
      End Select
   EndIf
   
   Color 0,255,0
   
   Cls
      Rect x1-50,0,100,20
      Rect x2-50,460,100,20
   Flip
Until KeyDown(1)
End

Function INT_IP(IP$)
a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a4=Int(IP$)
Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4
End Function


die Funktion hab ich vonner Onlinehilfe geklaut Wink
was ist der sinn des lebens?
das leben selbst?
das ei?
das huhn?

www.derfelix.de.gg ---> Downloads

Chester

BeitragMi, März 09, 2005 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
nochmal kleiner Info von mir:

Die Ports die ihr benutzt müsst ihr bei euerm Router freigeben!

Mez_K

BeitragDo, März 10, 2005 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Muss man den port auch freigeben wenn man nur im netzwerk spielen will???

und wie findet ihr das programm:
http://www.loxe.de/felixpage/IPs.zip

(dann muss man nicht immer auf www.wie-ist-meine-ip.de Wink )
was ist der sinn des lebens?
das leben selbst?
das ei?
das huhn?

www.derfelix.de.gg ---> Downloads

Hummelpups

BeitragDo, März 10, 2005 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur noch mal am Rande, weiß nicht obs schon gesagt wurde:

Internet ist ein großes Netzwerk und unterscheidet sich nicht unbedingt
vom LAN, wenns im Netzwerk geht, gehts erstmal auch im Internet.
Was dann für zusäzliche Hardware (Router usw.) das Problem sein
sollte, ist irrelevant. Funzen tut es auf jeden Fall wenn es richtig konfiguriert
ist.

Zockst du mit jemand anders über einen Router musst du natürlich auch
den Port den das Game benutzt freigeben da es sonst geblockt wird.

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus

Mez_K

BeitragDo, März 10, 2005 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das hab ich jetzt gemacht und den code (ein bisschen) geädert:

Code: [AUSKLAPPEN]
ipv$ = Input("IP?: ")

streami = CreateUDPStream(60000)
streamo = CreateUDPStream()

join = 0

If Not ipv$ = "" Then
   ip = INT_IP(ipv$)
   join = 1
   Goto join
EndIf

Print "warten auf client..."
Repeat
   ip = RecvUDPMsg(streami)
Until ip <> 0

.join

Graphics 640,480,0,3

x1 = 300
x2 = 300

Repeat

   WriteLine(streamo,"hallo")
   SendUDPMsg streamo,ip,60000

   If join = 1 Then
      x1 = MouseX()
      WriteLine(streamo,"x1" + x1)
      SendUDPMsg streamo,ip,60000
   Else
      x2 = MouseX()
      WriteLine(streamo,"x2" + x2)
      SendUDPMsg streamo,ip,60000
   EndIf

   If Not 0 = ReadAvail(streami) Then
      nachr$ = ReadLine$(streami)
      Print nachr$ ;<--- Hier!
      Select Left$(nachr$,2)
         Case "x1"
            x1 = Int(Replace(nachr$,"x1",""))
         Case "x2"
            x2 = Int(Replace(nachr$,"x2",""))
      End Select
   EndIf

   Color 0,255,0

   Cls
   Rect x1-50,0,100,20
   Rect x2-50,460,100,20
   Flip
Until KeyDown(1)
End

Function INT_IP(IP$)
a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a4=Int(IP$)
Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4
End Function


so,
und da wo "<--- hier steht" sollten die empfangenen nachrichten ausgegeben werden - noch nur der host bekommt EINE nachricht obwohl ich den rect die ganze zeit bewege...
und ich hab auch noch mal nachgeguckt ob ReadAvail was anders als ne "0" ausgiebt.
Leider GIBT dieser befehl nur null aus, warum?
dann hab ich nochmal ausprobiert alles auszulesen obwohl ReadAvail "0" ausgibt - NICHTS!

sende ich das falsch oder wie???
was ist der sinn des lebens?
das leben selbst?
das ei?
das huhn?

www.derfelix.de.gg ---> Downloads

Toby

BeitragDo, März 10, 2005 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Sag' doch jetzt einfach mal ob ihr'nen Router habt. Dann wär doch die eine Fehlerquelle weg' vom Plan!
Member of
Terra Multimedia

Mez_K

BeitragDo, März 10, 2005 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
IcH hab den fehler!
guckt mal da wo jetzt hier steht...

Code: [AUSKLAPPEN]
ipv$ = Input("IP?: ")

streami = CreateUDPStream(60000)
streamo = CreateUDPStream()

join = 0

If Not ipv$ = "" Then
   ip = INT_IP(ipv$)
   join = 1
   Goto join
EndIf

Print "warten auf client..."
Repeat
   ip = RecvUDPMsg(streami)
Until ip <> 0

.join

Graphics 640,480,0,3

x1 = 300
x2 = 300

Repeat

   WriteLine(streamo,"hallo")
   SendUDPMsg streamo,ip,60000

   If join = 1 Then
      x1 = MouseX()
      WriteLine(streamo,"x1" + x1)
      SendUDPMsg streamo,ip,60000
   Else
      x2 = MouseX()
      WriteLine(streamo,"x2" + x2)
      SendUDPMsg streamo,ip,60000
   EndIf
   
   If RecvUDPMsg Then  ;<--- Hier!
      If Not 0 = ReadAvail(streami) Then
         nachr$ = ReadLine$(streami)
         Print nachr$
         Select Left$(nachr$,2)
            Case "x1"
               x1 = Int(Replace(nachr$,"x1",""))
            Case "x2"
               x2 = Int(Replace(nachr$,"x2",""))
         End Select
      EndIf
   Endif ; und natürlich auch HieR

   Color 0,255,0

   Cls
   Rect x1-50,0,100,20
   Rect x2-50,460,100,20
   Flip
Until KeyDown(1)
End

Function INT_IP(IP$)
a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a3=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
a4=Int(IP$)
Return (a1 Shl 24) + (a2 Shl 16) + (a3 Shl 8 ) +a4
End Function


wär es schneller wenn ich 2 pots öffnen würde?
also für jede Koordinate einen?
oder "je weniger ports - desdo schneller"?
was ist der sinn des lebens?
das leben selbst?
das ei?
das huhn?

www.derfelix.de.gg ---> Downloads

Mez_K

BeitragDo, März 10, 2005 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
(keine ahnung warum aba ich hab den beitrag 2x gesendet ?warum auch immer? ALSO - das was hier steht zählt nicht!)
  • Zuletzt bearbeitet von Mez_K am Do, März 10, 2005 16:31, insgesamt einmal bearbeitet

Chester

BeitragDo, März 10, 2005 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Mez_K hat Folgendes geschrieben:

kann das an meinem Router liegen? - haben welche im BlitzChat gesagt..


Wer lesen kann ist klar im Vorteil Wink

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group