UDP über internet

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

judos

Betreff: UDP über internet

BeitragDi, März 25, 2008 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich wollte mal UDP über internet probieren.
IP habe ich von www.wieistmeineip.ch genommen natürlich!

Mit einem UDP stream der den Port 8000 verwendet, habe ich es mit einem kollegen zustande gebracht nachrichten zu verschicken, leider nur von einem auf den anderen pc und nicht umgekehrt.
woran liegt das?
brauche ich noch einen zweiten stream um für das lesen& senden je einen udpstream zu haben?

mfg judos



my_ip$ und your_ip$ sind absichtlich auf IP1 und IP2 gesetzt, dort kann der fehler also nicht liegen Wink
zudem haben wir bei sendudpmsg jeweils die andere ip genommen. sollte also auch dort stimmen.
Code: [AUSKLAPPEN]

Graphics 640,480,16,2
SetBuffer BackBuffer()

udp=CreateUDPStream(8000)


my_ip$="IP1"
your_ip$="IP2"

Tex$=""
antwort$="---"
ipa$=""
time$=""

Repeat
Cls

Locate 0,0
x=GetKey()
If x>31 Then tex$=tex$+Chr(x)
If x=8 Then tex$=Left(tex$,Len(tex$)-1)
Print "Deine Eingabe: "+tex$
If sent>0 Then sent=sent-1:Print "Sent..."
If x=13 Then
   sent=100
   WriteLine udp,tex$
   SendUDPMsg udp,int_ip(your_ip$),8000
   tex$=""
EndIf



Locate 0,100
ip=RecvUDPMsg(udp)
If ip<>0 Then
   antwort$=ReadLine(udp)
   ipa$=DottedIP$(ip)
   time$=CurrentTime$()
EndIf

Print "Letzte Nachricht: "+antwort$
If antwort$<>"---" Then
   Print "geschrieben von "+ipa$
   Print "um "+time$
EndIf

Delay 10
Flip
Until KeyHit(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

 

Dreamora

BeitragDi, März 25, 2008 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
für UDP muss die Portweiterleitung aktiviert sein auf dem Router. Es gibt keine UDP Streams, UDP sendet immer einzelne Nachrichten. Das heisst nur weil du raus kommst, kommt der andere noch lange nicht bei dir rein.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

judos

BeitragDi, März 25, 2008 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
welchen port kann man denn standartmässig verwenden damit es auf beide richtungen hin funktioniert?
 

Dreamora

BeitragDi, März 25, 2008 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
garkeinen
Entweder er ist offen oder er ist es nicht.
Es gibt keinen der immer offen ist sonst könnte sich jeder idiot reinhacken.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

judos

BeitragDi, März 25, 2008 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ok dann ist meine Frage eher, wie machen das bekannte Spiele wie WoW etc...??

Gibt es eine Möglichkeit herauszufinden welche Ports dass offen sind und diese dann dem anderen bekannt zu geben? Vielleicht eine Userlib oder so?

ich habe mal einen Portscanner heruntergeladen und es versucht. Port 135 war bei uns beiden angeblich offen, aber es hat trotzdem nicht funktioniert Crying or Very sad


mfg judos
 

Dreamora

BeitragDi, März 25, 2008 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist kein Port offen wenn du es nicht im Router einstellst.

Und WoW etc machen das dadurch, dass sie:

1. TCP nutzen (ausser Shootern braucht nichts UDP)
2. Auf dem Port antworten auf dem du sie anschreibst, denn der wird das packet durchleiten. wenn nicht ist die sicherheit zu hoch eingestellt im router oder software firewall blockt (denn die wird jegliche UDP abfangen wenn nicht anders gesetzt). Dazu muss der lokale Port (denn der router ändert den sehr wahrscheinlich) aber in der HandShake Nachricht an den Server drin sein.
3. Sie nutzen die dafür vorgesehenen ports -> 10000+, ausnahme ist blizzard die ihren "etablierten" Battle.Net Port 6112 haben
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

judos

BeitragDi, März 25, 2008 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ok das werde ich mal alles ausprobieren, mal schauen obs funktioniert Smile
Vielen Dank auch Dreamora

mfg judos

skey-z

BeitragDi, März 25, 2008 23:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich beschäftige mich auch gerade mit dem Aufbau eines Netzwerkes über internet.

Hast du denn mal versucht dich selber zu kontaktieren, also das Programm 2 Mal zu starten und über 127.0.0.1 zu kommunizieren? Wenn das nicht funktioniert, liegt der fehler schon wo anders.

Tipp: schau mal aufblitzbasic.com in der Toolbox, da gibt es die RottNet Funktionssammlung, welche die Blitzinternen UDP Befehle benutzt. Habe es lokal getestet und Sie funktioniert.
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

judos

BeitragMi, März 26, 2008 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
thx, werde dieses tool mal anschauen!!!

mfg judos

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group