UDP auf einem Computer benutzen....

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

fliege

Betreff: UDP auf einem Computer benutzen....

BeitragDi, Jun 22, 2004 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnt ihr mir vielleicht ein kleines Beispiel schreiben, wo von einem Programm mit einem geöffneten UDP - Port Daten an das andere Programm versendet werden, die dieses dann verarbeitet und ausführt?

theBlade

BeitragDi, Jun 22, 2004 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
1. gabs diese frage hier schon 1000000 mal, aber kein schwanz kommt auf die idee die suche zu nutzen.

2. nutze die suche ^^ du wolltest mehrer beispiele von mehreren leuten finden, eines der besten ist von DC

3. ich kann dir auch ein beispiel geben dass j0k3 und ich erarbeitet haben als er mit UDP beigebracht hat, ich muss es nur eben rauskramen ^^ dann liefer ich den link nach[/url]
"Ich bin wie ich bin. Die einen kennen mich, die anderen können mich." (Dr. Konrad Adenauer)

UTFSB -> (use the fuckin "suchen"-button)

User posted image <- link -.-

dominik

BeitragDi, Jun 22, 2004 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
wie testes ihr eigentlich eure netzwerk progs? hab ihr alle zwei pc oder wie mach ihr des?
 

Dreamora

BeitragDi, Jun 22, 2004 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
die IP 127.0.0.1 und dann aufm eigenen pc

und nebenher traffic loggen lassen, damit ich sehe ob net viel zu viel fliesst, so dass es in "realität" nimmer klappen kann
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

cyby

BeitragDi, Jun 22, 2004 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
also, um das UDP alleine auf einem PC testen zu können muss der Server z.b. einen Stream mit 8000 um empfangen aufbauen und der Client einen Stream mit 8001.
Um dann mit dem Server Daten zu versenden, muss man dies über den Port 8001 und um Daten zu empfangen mit 8000.
Um dann mit dem Client Daten zu versenden, muss man dies über den Port 8000 und um Daten zu empfangen mit 8001.
also
server:
Arrow senden 8001
Arrow empfangen 8000
client:
Arrow senden 8000
Arrow empfangen 8001

falls das undeutlich war schreibe ich auch gerne ein Beispiel ^^

MfG
cyby Smile

ps. zur info, man kann pro PC pro Port nur einen Stream aufbauen !
 

cyby

BeitragDi, Jun 22, 2004 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
so, hier mal Beispiele:
Code: [AUSKLAPPEN]
; SERVER
sendeport = 8001
 empfangsport = 8000

  stream = CreateUDPStream(empfangsport)

;hauptschleife
Repeat
 
Delay 2000
If RecvUDPMsg(stream) Then
Print ReadLine(stream)
Else
Print "Keine Nachricht !"
EndIf

Until KeyHit(1)
End

Code: [AUSKLAPPEN]
; CLIENT
sendeport = 8000
 empfangsport = 8001

  stream = CreateUDPStream(empfangsport)

ip = integerIP("127.0.0.1")

; hauptschleife
Repeat
 
nachricht$ = Input("Nachricht: ")
WriteLine stream,nachricht
SendUDPMsg stream,ip,sendeport

Until  nachricht = "ende"
End


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

falls ihr noch Fragen habt, dann fragt einfach ^^

MfG
cyby Smile

dominik

BeitragDi, Jun 22, 2004 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
aja danke
 

fliege

BeitragDo, Jun 24, 2004 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo nochmal!
Ich habe diesen UDP Code gestern versucht für mich ab zu wandeln, doch es funktioniert noch immer nicht...
Hier habt ihr mal die Codefetzten vom Client...
Achtung!
Es ist ein B+ Code...
Code: [AUSKLAPPEN]

Global send = 8000
Global stream$

ip = integerIP("127.0.0.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

Function Load_Terrain()
If terrainx = 29 Then
Notify "Du kannst nicht mehr Terrains einfügen"
Else
Terrain(terrainx) = RequestFile("Highmap wählen","bmp")
If Terrain(terrainx) <> 0 Then
WriteLine stream$,"21"
SendUDPMsg stream$,ip,send
WriteLine stream$,OpenFileName$+terrainx+" = LoadTerrain("+Chr(34)+Terrain(terrainx)+Chr(34)+")"
SendUDPMsg stream$,ip,send
If OpenFileName$<>""
SaveItem(OpenFileName$,"Global"+OpenFileName$+terrainx+" = LoadTerrain("+Chr(34)+Terrain(terrainx)+Chr(34)+")")
EndIf
EndIf
terrainx = terrainx + 1
EndIf
End Function


Dieser "Servercode" hier aber B3D:
Code: [AUSKLAPPEN]

Graphics3D 800,600,16,2
Global message_in = 8000
Global stream = CreateUDPStream(message_in)
Global Terrain$
Global preview = CreateCamera()



Repeat
Cls
   If KeyDown(200) MoveEntity preview,0,0,.3
   If KeyDown(203) TurnEntity preview,0,.3,0
   If KeyDown(205) TurnEntity preview,0,-.3, 0
   If KeyDown(208) MoveEntity preview,0,0,-.3
   If KeyDown(201) MoveEntity preview,0,.3,0
   If KeyDown(209) MoveEntity preview,0,-.3,0
If RecvUDPMsg(stream) Then
If angekommen = 21 Then
now_load = RecvUDPMsg(stream)
Load_terrain$ = ReadLine(stream)
Terrain$ = LoadTerrain(Load_terrain$)
EndIf
EndIf
UpdateWorld()
RenderWorld()
Flip
Until KeyHit(1)

Bitte zählt mal meine Fehler auf, denn ich bin nun die gane Nacht daran gesessen und habe nicht gefunden...
Sagt mir doch auch bitte gleich, wie ich diesen Fehler beheben könnte...
 

cyby

BeitragDo, Jun 24, 2004 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
im client ist ja gar keine hauptschleife !
 

furbolg

BeitragDo, Jun 24, 2004 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum testen nutzt ich meistens die 2 anderen PCs (insgesamt 3) hier. Wenns da nich läuft (sind nich die neuesten....) dann prob ichs mit Kumpels aus ICQ etc.

Wenn man Router einstellt is das kein Problem Smile
 

fliege

BeitragDo, Jun 24, 2004 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@cyby:
Der erste Teil ist nur der Codefetzten, mit der gesammten Hauptschleife wäre er viel zu lang... Mr. Green
Aber der Fehler kann nur in diesen fetzten liegen, also bitte sagt mir was ich falsch gemacht habe!
 

cyby

BeitragDo, Jun 24, 2004 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
da kann ich dir leider nicht helfen , denn ich kenne mich mit B3D gar nicht aus !

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group