UDP --> Host schickt keine Daten
Übersicht

DerSpuckBetreff: UDP --> Host schickt keine Daten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Wollte mich mal ein wenig mit UDP befassen und leider bekommt mein Client keine Daten zurück vom Host. Habe 2 Computer hier stehen und die sehen sich auch im Netzwerk ohne Probleme. Hier der Code ohne Global befehle. Code: [AUSKLAPPEN] Hostmodus = Input("1. für Host | 2. für Client") If Hostmodus = 1 Then sendeport = 8000 empfangsport = 8001 EndIf If Hostmodus = 2 IP = IntegerIP("192.168.0.188") sendeport = 8001 empfangsport = 8000 EndIf senden = CreateUDPStream(sendeport) empfangen = CreateUDPStream(empfangsport) Repeat cls If RecvUDPMsg(Empfangen) Then IP = RecvUDPMsg(Empfangen) Nachricht$ = "Nachricht eingetroffen" EndIf WriteByte Senden, das SendUDPMsg Senden, IP, Sendeport Text 20,20, Nachricht$ Text 50,50, Ip Flip Until keydown(1) Function IntegerIP(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 Jetzt bekommt der Host eine Nachricht und springt auf "Nachricht erhalten" IP ist jede 3 Sekunden kurz für eine Sekunde mit ner Zahl da ansonsten aber auf 0 Beim Client steht nix und hat dafür IP dauerhaft da stehen. Kann mir da vielleicht jemand weiter helfen ? :/ |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moment mal, "Writebyte senden, das" geht nicht.
Es ist schon richtig, dass man ein Byte voran sendet, aber damit ist eine Zahl gemeint. Aber auch sende und empfangsport sollten Konstant bleiben, in deinem Script sieht es so aus, als ob Sender und Empfänger den selben port benutzen. Code: [AUSKLAPPEN] const port_client = 8001 const port_host = 8000 if host = 1 stream = createudpstream(port_host) else stream = createudpstream(port_client) endif repeat if host = 1 writebyte(stream,1) ;Byte "1" wird in Stream geschrieben writeline(stream, "Testnachricht") ;anschließend ein String sendudpmsg(stream, integerip(ziel) ,client_port) else if recvudpmsg(stream) ipfrom = udpmsgip(stream) msg_info = readbyte(stream) ;byte aus stream lesen, um zu wissen, was der Absender will select msg_info case 1 ;nachricht the_nachricht$ = readline(stream) ;string aus stream lesen print(the_nachricht$) end select endif endif until keyhit(1) |
||
Starfare: Worklog, Website (download) |
- Zuletzt bearbeitet von ZaP am Sa, Jun 30, 2007 12:27, insgesamt einmal bearbeitet
DerSpuck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hab auch schon voher mal Writeline ausprobiert ... und mit dem Programm habe ich ja gleichzeitig Host und Client.. Kann man am Anfang auswählen was man sein möchte. Wenn man Host ist, schickt man auf 8000 und empfängt auf 8001 . Als Client andersrum. : ) | ||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab meinen Beitrag nomma Editiert mit einem Pseudocode o0 | ||
Starfare: Worklog, Website (download) |
DerSpuck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah
Ok danke für deine Mühe.. Hab aber nur den einen Befehl udpmsgip gesucht... Denke damit sollte mein Code funktionieren. Danke ; ) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group