Mit UDP Daten von einem fremden Server empfangen?
Übersicht

![]() |
MegamagBetreff: Mit UDP Daten von einem fremden Server empfangen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Folgendes:
Ich habe ein Programm, dass konstant irgendwelche Daten über UDP an die IP 127.0.0.1 (localhost) und den Port 3333 sendet. Die Frage ist: Wie kann ich mit Blitz3D diese Nachrichten empfangen und auswerten? Gibt es in BB überhaupt Möglichkeiten mit UDP zu kommunizieren? In der BB-Hilfe stand nämlich nichts von solchen Kommandos. ICh hoffe, ihr könnt mir helfen. |
||
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da hast du aber sehr schlecht in der hilfe nachgeschaut ...
https://www.blitzforum.de/help/?subcat=3 |
||
01010100 01100101 01000100 01111001 00100000 00111010 01000100 |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verstehe es nicht...
Hier habe ich was zum testen gemacht: Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Stream = CreateUDPStream() While Not KeyHit(1) IP = RecvUDPMsg(3333) Print IP Flip Wend End Aber da kommt immer nur "UDP Stream doesn't exists". Und diese message bezieht sich auf die RecvUDPMsg-Zeile. |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht solltest du dir die Dokumentation zu den Befehlen anschauen, bevor du sie verwendest ![]() Bei CreateUDPStream ![]() ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann kommt genau dieselbe Mitteilung.... | ||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht wäre ein wenig Code nicht schlecht? Ich rate jetzt einfach mal, dass du bei RecvUDPMsg einen falschen Wert angegeben hast.
Hier mal dein Code von oben, korrigiert: Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Stream = CreateUDPStream(3333) While Not KeyHit(1) IP = RecvUDPMsg(Stream) Print IP Flip Wend |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Gast |
![]() Antworten mit Zitat |
|
---|---|---|
Code: [AUSKLAPPEN] Global IP, MSG$
Global Stream = CreateUDPStream(3333) Repeat IP = RecvUDPMsg(Stream) If IP Then MSG$ = "" While ReadAvail(Stream) MSG$ = MSG$ + Chr(ReadByte(Stream)) Wend Print DottedIP(IP)+":" Print "=========================================================================" EndIf Until KeyDown(1) Ich hoffe es geht! Viele grüsse, Flitztuete95 |
||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tut mir echt leid, aber jedes mal kommt
diese Mitteilung. Vielleicht kann Blitz3D das einfach nicht empfangen... |
||
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein es liegt nicht an blitz3d eventuell an blitz4d | ||
01010100 01100101 01000100 01111001 00100000 00111010 01000100 |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also wenn du IRGENDEIN Programm hast, das ständig nach localhost:3333 sendet und du uns nach UDP-Befehlen fragst, dann schliesse ich daraus, dass dieses irgendeine Programm nicht von dir ist (fremder Server ist da auch noch so n Hinweis...). Und demnach wohl nebst dem irgendeinen noch ein irgendeinanderes existiert, dass diese Daten bereits abhorcht und du uns davon nix gesagt hast. Wen dem so ist, kannst du das vergessen, man kann keinen Stream auf nem Port eröffnen, der bereits belegt ist.
Andernfalls wären genaue Infos zu diesem fremden Server nett. |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dieser "Server" nennt sich TBeta und ist eine Webcam-Tracking-Software.
Sie sendet sogenannte TUIO-Daten über UDP an den Localhost. Von da können diese von jeglichen Programmen abgeholt werden. Mit Flash funktioniert es. Nur habe ich keine Lust jetzt extra Flash zu lernen und dachte mir, dass es vielleicht auch mit Blitz3D geht. Und tedy, vielleicht hast du Recht und es liegt an mir; ich werde dann wohl doch mit Flash anfangen müssen. |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
führ einfach mal folgendes aus:
Code: [AUSKLAPPEN] If Not CreateUdpStream(3333) Then RuntimeError "Der Port ist bereits belegt."
Wenn du den RuntimeError siehst, weisst du, dass bereits irgendwas auf Port 3333 läuft. |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, ich hab's jetzt. Ich habe noch einen Gateway laufen lassen, der das
Protokoll blockierte und jetzt geht's. Es kommt zwar immer nur derselbe Wert an, aber wenigstens kommt was an ![]() Ich werde mal sehen, wie ich das jetzt zu konfigurieren habe. Danke für eure Geduld! |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du es so gemacht hast, wie oben schoneinmal, dann ist klar, warum immer nur der selbe Wert ankommt.
Zitat: IP = RecvUDPMsg(stream)
Print IP Das gibt nur die IP des Absenders zurück, aber nicht die Nachricht. |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh^^
Wie kriege ich denn die Nachrichten? |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Indem du RecvUDPMsg(stream) verwendest um zu sehen, ob Nachrichten ankommen, und diese dann mit den Read-Befehlen ausließt. ReadByte![]() ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, habe ich gemacht.
Jetzt kommt da eine verdammt schnell wechselnde Zahl. Es sind drei verschiedene. Sie unterscheiden sich, aber sie verändern sich nicht, wenn andere Messages vom Server gesendet werden. Ich glaube, ich bin auf dem falschen Weg, das zu lösen. Ich gebe einfach mal den Code, vielleicht ist DA schon was falsch: Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Stream = CreateUDPStream(3333) While Not KeyHit(1) IP = RecvUDPMsg(Stream) ID = ReadFloat(Stream) Text 0,0,"Byte: "+ID Flip Cls Wend Achja: Ich habe Tutorial Codes in C++, C#, Java und Action Script 3. Diese Codes machen genau das, was ich mit BB machen möchte. Wenn sich jemand also mit einer der Sprachen auskennt, kann ich den Code hochladen, und vielleicht kann mir dann jemand erklären, wie ich das in BB umsetzten kann. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] While Not KeyHit(1)
IP = RecvUDPMsg(Stream) ID = ReadFloat(Stream) Text 0,0,"Byte: "+ID Flip Cls Wend Ich rate dir dringend, mehr Tutorials zu lesen. ![]() Was macht dein Code? Er ließt jeden Schleifendurchlauf einen Float aus dem Stream aus, und zeigt ihn an. Auch wenn garnichtsmehr im Stream steht. Aber weil ich denke, dass du das nicht allein hinbekommst, hier ne kleine Hilfe: Code: [AUSKLAPPEN] While Not KeyHit(1)
IP = RecvUDPMsg(Stream) IF IP<>0 Then ID = ReadFloat(Stream) Endif Text 0,0,"Byte: "+ID Flip Cls Wend Außerdem ist es logisch, dass sich Zahlen schnell verändern, wenn du ihnen jeden Schlaifendurchlauf einen neuen Wert zuweißt..... Und um Datenstau zu vermeiden, sollstest du in jedem Schleifendurchlauf den kompletten stream auslesen. Ich hoffe, du weißt wenigstens, wie das geht. Ansonsten such mal in der Hilfe unter "Dateien & Streams" |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, jetzt zeigt der nur noch eine Zahl an, die sich trotzdem nicht
verändert. Ich danke für die Hilfe, aber ich schätze, dass es niemals funktionieren wird. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es funktioniert immer ^^
Was sendet eigentlich dein Programm? Darauf kommt es nämlich an. Wenn das andere Programm immer das selbe sendet, kommt natürlich auch immer das selbe an. ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group