UDP problem
Übersicht

![]() |
dimasterBetreff: UDP problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
da mein spiel schnell sein soll habe ich von directplay auf udp gewechselt.Aber da habe ich mal im busch von René Meyer nachgesehen und dieses beispiel ausprobiert.wenn ich ne ip an gebe dann kommt warte....(oder ähnlich)dann will ich noch ein fenster öffnen und es kommt eine fehler meldung.ich glaube man muss einen befehl einbauen damit man als host ein spiel starten kann oder wie seht ihr das?bitte helft mir. hier mal der code : Code: [AUSKLAPPEN] hostmodus = 1 sendeport = 2000 empfangsport = 2001 If hostmodus = 0 Then sendeport = 2000 empfangsport = 2001 EndIf senden = CreateUDPStream(sendeport) empfangen = CreateUDPStream(empfangsport) If hostmodus = 0 Then ip = integerip("192.168.0.1") Else Print "warten" Repeat ip = RecvUDPMsg(empfangen) If KeyHit(1) Then End Until ip <> 0 Print "verbindung steht" Print "ip-adresse des senders - "+DottedIP(ip) Print "<Taste drücken>" WaitKey EndIf Graphics 640,480 SetBuffer BackBuffer() Repeat Cls If RecvUDPMsg(empfangen) Then x2 = ReadShort(empfangen) y2 = ReadShort(empfangen) EndIf If hostmodus = 1 Then Color 255,0,0 Else Color 0,0,255 EndIf Oval x2,y2,30,30,1 x1alt = x1 y1alt = y1 x1 = MouseX() y1 = MouseY() If x1 <> x1alt And y1 <> y1alt Then WriteShort senden,x1 WriteShort senden,y1 SendUDPMsg senden,ip,sendeport EndIf If hostmodus = 1 Then Color 0,0,255 Else Color 255,0,0 EndIf Oval x1,y1,30,30,1 Flip Until KeyHit(1) CloseUDPStream senden CloseUDPStream empfangen 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 Mfg dimaster |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube es liegt daran, dass du nicht 4 Ports aufmachen kannst,
wovon 2 immer die gleichen sind. Ich glaube ich hatte mal das selbe Problem |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann müsste ich die gleichen ports benutzen?wie soll ich das denn machen?
dimaster |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du erstellst 2 Streams. Jedes Proggie eins und von dort sendest du eine Msg zu dem ANDEREN Port das von dem anderen Port benutzt wird.
Dann muss der Server aber den Port des Clienten wissen. Du kannst dem Server irgendeinen Stream createn lassen. Der Port spielt hierbei keine rolle. Den bekommt der Client durch recvudpmsg(Empfangs_Stream) aber er Server muss den Empfangs Port des Clienten wissen. So ist es bei meinen Spielen auch. BiZaR |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
hä aber dann muss ich ja zwei codes machen oder?machs mal bitte mit dem beispiel.
danke dimaster |
||
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie wärs mit ner IF Abfrage ob man Client oder Host ist?[/b] | ||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Edit:
Ich packe es gleich mal in FAQ & Tutorials da das fast immer wieder kommt... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group