UDP: Ein ungefundner Fehler muss gefunden werden
Übersicht

![]() |
TobchenBetreff: UDP: Ein ungefundner Fehler muss gefunden werden |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich in DCs UDP-Game irgendwann nicht mehr durchblickte habe ich einfach mal selbst was geschrieben, um u testen, was ich jetzt kann. (Ich habe nicht abgeschrieben. Ich habe nur manche Sachen aus DCs UDP-Game für klug gehalten und diese verwendet.). Nun weiß ich, dass ich wohl wenig gelehrnt habe, weil sich ein Fehler eingeschlichen hat, den ich nicht finde.
Code: [AUSKLAPPEN] ;Codes:
;1 = Join ;2 = Angenommen ;3 = Abgelehnt Graphics 640, 480, 16, 2 SetBuffer FrontBuffer() Global ServerIP$ Global MyIP Global ServerPort Global MyPort Global MyStream Global MyName$ Global Server Global MyID Global Code Global TmpIP Global GesamtPlayer = 1 Global TmpName$ Global TmpPort Global TmpID Dim PlayerX(32) Dim PlayerY(32) Dim PlayerName$(32) Dim PlayerPort(32) Dim PlayerIP(32) Print "1) Join" Print "2) Host" Repeat If KeyDown(2) Then Gosub Join If KeyDown(3) Then Gosub Host Forever .Join Server = 0 Print "" Print "Name:" FlushKeys MyName$ = Input$(">") Print "Port:" FlushKeys MyPort = Input(">") Print "ServerIP:" FlushKeys ServerIP$ = Input(">") Print "ServerPort:" FlushKeys ServerIP$ = Input(">") MyStream = CreateUDPStream(MyPort) Print "Verbinden..." WriteByte MyStream, 1 WriteLine MyStream, MyName$ WriteInt MyStream, MyPort SendUDPMsg MyStream, IntIP(ServerIP$), ServerPort Repeat If KeyDown(1) Then End If RecvUDPMsg(MyStream) Then If ReadAvail(MyStream) Then Code = ReadByte(MyStream) Select Code Case 2 MyID = ReadInt(MyStream) MyIP = ReadInt(MyStream) PlayerIP(MyID) = MyIP PlayerPort(MyID) = MyPort PlayerName$(MyID) = MyName$ Print "Angenommen!" WaitKey Gosub Game Case 3 Print "Abgelehnt!" WaitKey End End Select EndIf EndIf Forever .Host Server = 1 Print "" Print "Name:" FlushKeys MyName$ = Input$(">") Print "Port:" FlushKeys MyPort = Input(">") MyStream = CreateUDPStream(MyPort) n = CountHostIPs("") MyIP = HostIP(1) MyID = 1 PlayerIP(MyID) = MyIP PlayerPort(MyID) = MyPort PlayerName$(MyID) = MyName$ Gosub Game .Game SetBuffer BackBuffer() Repeat Cls If KeyHit(1) Then End For I = 1 To 32 If PlayerName$(I) <> "" Then Rect PlayerX(I), PlayerY(I), 10, 10 Next If RecvUDPMsg(MyStream) Then If ReadAvail(MyStream) Then Code = ReadByte(MyStream) Select Code Case 1 If GesamtPlayer < 32 Then TmpIP = UDPStreamIP(MyStream) TmpName$ = ReadInt(MyStream) TmpPort = ReadInt(MyStream) For I = 1 To 32 TmpID = I If PlayerName$(TmpID) <> "" Then WriteByte MyStream, 2 WriteInt MyStream, TmpID WriteInt MyStream, TmpIP SendUDPMsg MyStream, TmpIP, TmpPort Exit EndIf Next PlayerName$(TmpID) = TmpName$ PlayerIP(TmpID) = TmpIP PlayerPort(TmpID) = TmpPort GesamtPlayer = GesamtPlayer + 1 EndIf End Select EndIf EndIf If KeyDown(200) Then PlayerY(MyID) = PlayerY(MyID) - 1 If KeyDown(208) Then PlayerY(MyID) = PlayerY(MyID) + 1 If KeyDown(203) Then PlayerX(MyID) = PlayerX(MyID) - 1 If KeyDown(205) Then PlayerX(MyID) = PlayerX(MyID) + 1 TmpIP = 0 Flip Forever Function IntIP(inputIP$) ;-> wandelt ip$ in interger um Local break1,break2,break3,add1,add2,add3,add4,ipreturn ; break1 = Instr(inputIP$,".") ; break2 = Instr(inputIP$,".",break1+1) ; break3 = Instr(inputIP$,".",break2+1) ; add1 = Mid(inputIP$,1,break1-1) ; add2 = Mid(inputIP$,break1+1,break2-1) ; add3 = Mid(inputIP$,break2+1,break3-1) ; add4 = Mid(inputIP$,break3+1) ; ipreturn=(add1 Shl 24) + (add2 Shl 16) + (add3 Shl 8) + add4 ; Return ipreturn ; End Function Hoffe, ihr könnt mir helfen. |
||
Tobchen - die Welt von Tobi!
|
![]() |
Tobchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich nehme an, ihr könnt mir nicht helfen ![]() |
||
Tobchen - die Welt von Tobi!
|
![]() |
Suco-XBetreff: ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nungut. Ein Fehler ist mir da direkt ins Gesicht gesprungen.
Code: [AUSKLAPPEN] TmpName$ = ReadInt(MyStream) Irgendwie nicht so das ware. Du Sendest es mit WriteLine, also lies auch wieder mit Readline aus den TmpName. bye |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group