Senden von UDPStream an eigenen Computer[gelöst]
Übersicht

Nikla3DBetreff: Senden von UDPStream an eigenen Computer[gelöst] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich will um mich in das Thema Netzwerke ein wenig einzuarbeiten ein Programm schreiben, dass sich mit einem anderen Programm auf meinem Computer unterhält. Dabei soll nur ein Programm senden und das andere empfangen. SendeProgramm:Code: [AUSKLAPPEN] sende_stream = CreateUDPStream(1680)
IP_Adresse = RecvUDPMsg(sende_stream) WriteLine(sende_stream,"Code") SendUDPMsg sende_stream, :?: ,1680 WaitKey EmpfangsProgramm: Code: [AUSKLAPPEN] empfangs_stream = CreateUDPStream(1680)
byte = ReadLine(empfangs_stream) Print byte WaitKey Meine Frage: Was muss ich für eine IP-Adresse eingeben, eigentlich keine oder, soll ja ein locales Programm werden? Oder gibt es eine Art der Übertragung, in der ich gar keine IP-Adresse eingeben muss |
||
- Zuletzt bearbeitet von Nikla3D am Fr, Feb 12, 2010 21:11, insgesamt einmal bearbeitet
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als IP musst du local 127.0.0.1 angeben, eine Möglichkeit ohne wäre Namepipe, such einfach danach.
Edit: Puh, knapp ![]() |
||
It's done when it's done. |
- Zuletzt bearbeitet von Pummelie am Do, Feb 11, 2010 18:36, insgesamt einmal bearbeitet
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Über die IP-Adresse 127.0.0.1 (localhost) erreichst du den eigenen Computer.
Edit: Zu langsam... |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Nikla3D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke euch beiden
EDIT: Die Punkte der IP nimmt er aber nicht an Code: [AUSKLAPPEN] sende_stream = CreateUDPStream(1680)
IP_Adresse = RecvUDPMsg(sende_stream) WriteLine(sende_stream,"Code") SendUDPMsg sende_stream, 127.0.0.1 ,1680 WaitKey EDIT: Muss ich die Punkte weglassen? |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch möglich wäre es in eine Datei zu schreiben, und danach wieder auszulesen.
Ist nicht so schnell, wie die Netzwerklösung, aber manchmal ist es ziemlich nützlich. Zmb, habe für unsere Klasse einen kleinen Chat geschrieben, welcher die Nachrichten als txt file auf dem Gruppenlaufwerk (verschlüsselt) speichert, so kann man untereinander in der Klasse kommunizieren ![]() mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: EDIT: Die Punkte der IP nimmt er aber nicht an
Du musst die IP in Anführungszeichen setzen. Code: [AUSKLAPPEN] SendUDPMsg sende_stream, "127.0.0.1" ,1680
|
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, das ist zwar eine Lösung aber wenn man es anders machen kann, solte man dies tuen, da es relativ langsam ist.
(Ja ich weiß "langsam" gibt es unter pc´s eigentlich nicht) |
||
It's done when it's done. |
Nikla3D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jetzt habe ich noch ein weiteres Problem.
Wenn ich den kleinen Text schicke, sagt er " Stream does not exist" Wenn ich den kleinen Text nicht schicke, printet er Null aus! Null: keine Nachricht bekommen EDIT: Das mit dem Anführungszeichen haben die dann wohl in meinem Tutorial vergessen! ![]() |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm also, ohne jetzt den direckten fehler zu sehen, kann ich sagen, das Text nicht übertragen wird, da deu keine Strings nutzt. | ||
It's done when it's done. |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab schon lang nix mehr mit UDP gemacht aber die UDP-Verbindungsfunktionen brauchen doch die "Int IP".
Wer in die hilfe schaut, findet die Funktion die die IP-Adresse dahin gehend umrechnet. EDIT: Naja, nicht ganz richtig. UDP hat ja keine "Verbidnungsfunktion" Aber in der Onlinehilfe zu SendUDPMsg ![]() ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier die ip umrechnung:
0+0*256+0*256*256+127*256*256*256 |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das üben wir nochmal, silver_knee. 127.0.0.1 | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Nikla3D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Brauche ich dann UDPStreamPort
oder UDPStreamIP denn beides liefert eine Integer_IP-Adresse zurück ![]() ![]() ![]() EDIT: So sieht mein Empfang_Stream aus, aber immer ist er noch falsch: Code: [AUSKLAPPEN] sende_stream$ = CreateUDPStream(1680)
IP_Adresse = RecvUDPMsg(sende_stream$) WriteLine(sende_stream$,"Code") ;Port = UDPStreamPort (sende_stream) IP_String$ = DottedIP("127.0.0.1") SendUDPMsg sende_stream$, IP_String$ ,1680 WaitKey |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
SendUDPMsg sende_stream$, 1+0*256+0*256*256+127*256*256*256 ,1680
[Danke BR] Du musst die Integer IP übergeben DottedIP macht genau das andere: DottedIP(1+0*256+0*256*256+127*256*256*256) erzeugt "127.0.0.1" @vvvvHolzchopfvvvvv Dummes Copy&Paste |
||
- Zuletzt bearbeitet von Silver_Knee am Fr, Feb 12, 2010 19:48, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast schon wieder eine 1 vergessen xD
Übrigens kann man die Localhost-IP auch einfach in der Hexadez-Notation $7F000001 angeben. Oder man kann sie zur Laufzeit mitBlitzBasic: [AUSKLAPPEN] CountHostIPs("localhost")ermitteln mfG |
||
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 |
Nikla3D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann sieht mein Sende_Stream so aus:Code: [AUSKLAPPEN] sende_stream$ = CreateUDPStream(1680)
IP_Adresse = RecvUDPMsg(sende_stream$) WriteLine(sende_stream$,"Code") SendUDPMsg sende_stream$,1+0*256+0*256*256+127*256*256*256 ,1680 WaitKey und mein Empfangs_Stream so aus: Code: [AUSKLAPPEN] empfangs_stream = CreateUDPStream(1680)
;byte = ReadFile(empfangs_stream) empfangs_stream= ReadLine(empfangs_stream) Print empfangs_stream WaitKey Doch es klappt noch nicht! ![]() |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, du kannst es ja mal mit TCP versuchen.
Ich finde das TCP Protokoll sehr viel logischer. Hier mal deine Code in TCP: Senden: BlitzBasic: [AUSKLAPPEN] Local host=CreateTCPServer(1680),stream Empfangen: BlitzBasic: [AUSKLAPPEN] Local stream=OpenTCPStream("127.0.0.1",1680) |
||
It's done when it's done. |
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wahrscheinlich empfängt er nicht genau in dem moment was, wo er das programm ausführt. und er versucht ja auch nur einmalig was auszulesen, wirst du schon sehr schnell sein müssen^^ | ||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
Nikla3D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank, dann werde ich mich mal mit TCP Protokollen auseinandersetzten | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Beide können nicht den Selben port benutzen
Dein PC wird streiken und das als 2. Gestartete programm wird bei CreateUDPStream eine 0 für "Port blockiert" zurückbekommen. Nimm 2 verschiedene Ports und lass mal dein empfangsprogramm etwas warten: Code: [AUSKLAPPEN] repeat
delay 100 until recvudpmsg(empfangs_stream) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group