UDP

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: UDP

BeitragFr, März 23, 2007 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hi, leute, mal so eine frage zu UDP

udp_rd=CreateUDPStream(Inp_Port)
udp_wr=CreateUDPStream(Out_Port)

warum muss man 2 UDP Stream Öffnen? gehts nicht nur mit einem? den es ist ja blöd das wenn einer einen Router hat nicht am spiel teilnehmen kann sei den er öffnet einen port.

ich dachte udp würde so ähnlich wie tcp funktionieren, das man sich einen server erstellen kann und die clients connecten nur drauf.

bin natürlich dankbar für jede hilfe, oder nen paar kleinere codes ect.
 

BlackTermi

BeitragFr, März 23, 2007 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur damit ich deine Frage besser verstehe, du willst 2 Streams in einem Programm (also meinetwegen dem Server) öffnen?

Soweit ich weiss brauchst du nur einen, über den kannst du senden und empfangen. Und ansonsten würde ich sagen probier es doch einfach aus, indem du einen Text hin und her schickst oder irgendetwas anderes - wenns geht is doch alles klar...

Tankbuster

BeitragFr, März 23, 2007 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Man braucht nur einen!
Aber im tut haben die 2 genommen, denn wenn schon eine Nachricht im Stream ist, aber noch nicht vom Programm gelesen wurde, wird die immer mitgeschickt, wenn du ne Nachricht sendest.....
Das haben ich auf jedenfall in der OH oder irgenwoanders gelesen^^
Twitter
Download Jewel Snake!
Windows|Android

Vertex

BeitragFr, März 23, 2007 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt keinen Grund, warum man 2 UDP Streams verwenden sollte. Man muss nicht an den Port senden, den man lokal für den Socket gewählt hat. Rob in allen Ehren, aber das Netzwerktutorial würde ich nicht als DIE Referenz sehen. Auch nicht die Beispiele aus der OH.

mfg olli
vertex.dreamfall.at | GitHub

Smily

BeitragFr, März 23, 2007 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerade beim Thema Netzwerk scheinen die Tuts ja besonders Dünn gesäht zu sein.

Es könnte ja mal jemand ein tut speziell zum Thema Netzwerk erstellen.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ok ich bedanke mich für eure hilfen, und werde mal sehn das ich mit udp etwas kalr komme, ja in der oh und auf rob site sind immer 2 server drin ^^ und ich dachte mir das es schwachsinn ist, habe es aber so anderes wie noch nicht hinbekommen.

aber danke

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
wie verbinde ich denn per udp also

CREATEUDPSTREAM

erstellt den stream

aber wie kann ich mit dem clienten darauf connecten?

Tankbuster

BeitragFr, März 23, 2007 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Du must einfach eine Nachricht an die IP, und den Port senden!
Twitter
Download Jewel Snake!
Windows|Android

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ja aber wie?

Code: [AUSKLAPPEN]
n = CountHostIPs("purechannel.ath.cx")
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)
SendUDPMsg "Hallo",ip,2011
WaitKey


das geht ja leider nicht


Code: [AUSKLAPPEN]
Graphics 800,600,32,2
send=CreateUDPStream (2011)

n = CountHostIPs("purechannel.ath.cx")
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)


Repeat
byte1=GetKey()
If byte1>0 Then
   If Byte1=13 Then
      WriteByte(send,byte1)
      SendUDPMsg send,DottedIP$(ip),2011
   Else
      Write Chr(Byte1)
      WriteByte(send,byte1)
      SendUDPMsg send,DottedIP$(ip),2011
   EndIf
EndIf
Until KeyDown(1)
End
und das leider auch nicht

Tankbuster

BeitragFr, März 23, 2007 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die IP bei UDP als Integer angeben, und nicht als "DottedIp" !^^
Twitter
Download Jewel Snake!
Windows|Android

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
ah und wie soll man das machen?

Silver_Knee

BeitragFr, März 23, 2007 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
mit dottedip machst du aus einer integer eine dottedip...

Eingeproggt

BeitragFr, März 23, 2007 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Und umgekehrt gehts mit
Code: [AUSKLAPPEN]

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


PS: Tankbuster, die Funktion hab ich grad von dir kopiert^^
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
nein auch so gehts nicht!

Code: [AUSKLAPPEN]
send=CreateUDPStream (2011)

n = CountHostIPs("purechannel.ath.cx")
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)
Print ipaddress$
INT_IP(ipaddress$)


Repeat
byte1=GetKey()
If byte1>0 Then
   If Byte1=13 Then
      WriteByte(INT_IP(ipaddress$),byte1)
      SendUDPMsg send,INT_IP(ipaddress$),2011
   Else
      Write Chr(Byte1)
      WriteByte(INT_IP(ipaddress$),byte1)
      SendUDPMsg send,INT_IP(ipaddress$),2011
   EndIf
EndIf
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


wie gehts nun richtig?
 

Yogu

BeitragFr, März 23, 2007 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum so kompliziert? INT_IP(DottedIP(ip)) würde wohl keiner schreiben. Lass das DottedIP doch einfach weg:

SendUDPMsg send,ip),2011
www.yogularm.de/df/design/signature.png

Silver_Knee

BeitragFr, März 23, 2007 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab einen:Zitat:
Warum so kompliziert? INT_IP(DottedIP(ip)) würde wohl keiner schreiben. Lass das DottedIP doch einfach weg:

SendUDPMsg send,ip),2011

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
es geht aber nicht mit

SendUDPMsg send,ip,2011

das ist doch das problem!


Code: [AUSKLAPPEN]
Graphics 800,600,32,2
send=CreateUDPStream (2011)

n = CountHostIPs("purechannel.ath.cx")
ip = HostIP(1)


Repeat
byte1=GetKey()
If byte1>0 Then
   If Byte1=13 Then
      WriteByte(send,byte1)
      SendUDPMsg send,ip,2011
   Else
      Write Chr(Byte1)
      WriteByte(send,byte1)
      SendUDPMsg send,ip,2011
   EndIf
EndIf
Until KeyDown(1)
End


vieleicht versteht mich ja einer.... wenn ihr das testet, server ist an!

Tankbuster

BeitragFr, März 23, 2007 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
OH LEUTE!!!^^
Ihr benutzt die Funktion erstens Falsch, ...... ihr müsst der Funktion eine Variable zuweisen
Zitat:
IP=int_ip("127.0.0.1")

2. *Doppelpunkt*
Zitat:
TcPstream=OpenTCPStream("www.blitzforum.de",80)
IP = TCPStreamIP(TcPstream)
CloseTCPStream(TcPstream)

So müsste es auch gehen^^
Twitter
Download Jewel Snake!
Windows|Android
 

BIG BUG

BeitragFr, März 23, 2007 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Programm ist jetzt ok. Hast Du denn daheim einen eigenen Server mit Standleitung stehen/einen gemietet wo denn jetzt ein entsprechendes Empfängerprogramm läuft und auf Port 2011 per UDP horcht?
Denn wenn das nur regulärer Webspace ist, dann wird das nicht funktionieren und Du hast hier was ziemlich missverstanden...
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Mathias-Kwiatkowski

BeitragFr, März 23, 2007 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
nein ich habe zuhause einen eigenen server aber dynamisch, ohne standleitung! aber darum habe ich ja eine domain, die automatisch immer die aktuelle ip von meiner internetleitung hat! ( dafür ist gesorgt muss dafür auch nix machn ) aber mein problem ist es nicht die ip vom server herauszufinden sondern eine naricht auf diesem server zu übermitteln.!

Zitat:
OH LEUTE!!!^^
Ihr benutzt die Funktion erstens Falsch, ...... ihr müsst der Funktion eine Variable zuweisen


das glaube ich weniger weil meine ip ist mir ja bekannt Wink mein problem ist es doch nur eine naricht zu übermitteln, das geht eben nicht, und das ist das problem!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group