Verbindung klappt nicht
Übersicht

![]() |
ToeBBetreff: Verbindung klappt nicht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also hier bin ich mal wieder mit einem online Spiel und wieder mit einem Problem. Ich wollte erst, bevor ich das Spiel schreibe, die Verbindung checken. Also hab ich mir ein Server-Client Programm geschrieben. Das einloggen funzt auch, nur das senden von nachrichten nicht... Die kommen nicht an... Ich hoffe ihr könnt mir helfen...
Aufbau : ![]() ![]() ![]() Hier mal der Code : Code: [AUSKLAPPEN] Graphics3D 800,600,16,2
SetBuffer BackBuffer() AppTitle "Paintball Area" Global p_anz Dim acc(1),IP(1),new_p(1),name$(1) Dim mesh(1),x#(1),y#(1),z#(1),yw#(1),xw#(1) Global tt Global Server,ID,recv_PORT,send_PORT,recv_STREAM,send_STREAM,send_ms Print "" Print "Wilkommen zu PaintBall Area !" Print "Was willst du tun ?" Print "Ein Spiel leiten - 1" Print "Ein Spiel beitreten - 2" Server = Input(" >>") If Server < 1 Then Server = 1 If Server > 2 Then Server = 2 If Server = 1 Print "[>> HOST <<]" acc(1) = 1 ID = 1 Print "Wie viele andere Spieler (ohne dich) ? (Min: 3 / Max: 15)" panz = Input(" >>") If panz < 3 Then panz = 3 If panz > 15 Then panz = 15 panz = panz + 1 SetPanz(panz) Print "Verbinde..." Delay 250 send_PORT = 8000 recv_PORT = 8001 send_STREAM = CreateUDPStream(send_PORT) recv_STREAM = CreateUDPStream(recv_PORT) If send_STREAM And recv_STREAM Then Print "Verbindung gelückt !" Else Print "Konnte keine Verbindung erstellen !":Delay 2000:End Delay 1000 Else Print "[>> JOIN <<]" Print "IP des HOST's ?" IP(1) = INT_IP(Input(" >>")) Delay 250 send_PORT = 8001 recv_PORT = 8000 send_STREAM = CreateUDPStream(send_PORT) recv_STREAM = CreateUDPStream(recv_PORT) If send_STREAM=0 And recv_STREAM=0 Then Print "Herstellung einer Verbindung fehlgeschlagen !":Delay 2000:End WriteByte(send_STREAM,2) SendUDPMsg(send_STREAM,IP(1),send_PORT) msmsms = MilliSecs() Print "Warte auf Server..." Delay 100 Repeat If RecvUDPMsg(recv_STREAM) Then Print "Server hat geantwortet !" Select ReadByte(recv_STREAM) Case 2 ID = ReadInt(recv_STREAM) panz = ReadInt(recv_STREAM) SetPanz(panz) acc(1) = 1 acc(ID) = 1 New_p(1) = 1 Exit Case 3 Print "Serverliste voll !" Delay 2000 End End Select EndIf If msmsms <= MilliSecs() - 2000 Then Print "Server hat nicht geantwortet !":Delay 2000:End Forever send_ms = MilliSecs() EndIf Repeat Print "Dein Name ?" Name$(ID) = Input(" >>") Print "Sicher das du "+name$(ID)+" heißen willst ?" Print "1 = JA [] 2 = NEIN" in_put = Input(">") Until in_put = 1 acc(ID) = 1 Repeat UpdateWorld() RenderWorld() SendANDRecv() UpdateALLPl() Text 0,0,p_anz For i = 1 To p_anz If acc(i) Text 0,i*10,i+".: "+Name(i)+" / "+acc(i) EndIf Next Text 100,0,"TT: "+tt Flip Cls Until KeyHit(1) Ende() Function SetPanz(panz) p_anz = panz Dim acc(p_anz),IP(p_anz),new_p(p_anz),name$(p_anz) Dim mesh(p_anz),x#(p_anz),y#(p_anz),z#(p_anz),yw#(p_anz),xw#(p_anz) End Function Function INT_IP(IP$) If Instr(IP$,".") <> 0 a1=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) If Instr(IP$,".") <> 0 a2=Int(Left(IP$,Instr(IP$,".")-1)):IP$=Right(IP$,Len(IP$)-Instr(IP$,".")) If Instr(IP$,".") <> 0 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 Ende() If Server = 1 For j = 2 To p_anz If acc(j) = 1 WriteByte(send_STREAM,3) SendUDPMsg(send_STREAM,IP(j),send_PORT) EndIf Next Else WriteByte(send_STREAM,3) WriteInt(send_STREAM,ID) SendUDPMsg(send_STREAM,IP(1),send_PORT) EndIf Delay 500 End End Function Function SendANDRecv() If Server = 1 While RecvUDPMsg(recv_STREAM) byte = ReadByte(recv_STREAM) tt = byte Select byte Case 1 IDID = ReadInt(recv_STREAM) ;x(IDID) = ReadFloat(recv_STREAM) ;y(IDID) = ReadFloat(recv_STREAM) ;z(IDID) = ReadFloat(recv_STREAM) ;yw(IDID) = ReadFloat(recv_STREAM) ;xw(IDID) = ReadFloat(recv_STREAM) name$(IDID) = ReadString(recv_STREAM) WriteByte(send_STREAM,1) For i = 1 To P_anz WriteByte(send_STREAM,acc(i)) If acc(i) = 1 ;WriteFloat(send_STREAM,x(i)) ;WriteFloat(send_STREAM,y(i)) ;WriteFloat(send_STREAM,z(i)) ;WriteFloat(send_STREAM,yw(i)) ;WriteFloat(send_STREAM,xw(i)) WriteString(send_STREAM,name$(i)) EndIf Next SendUDPMsg(send_STREAM,IP(IDID),send_PORT) tt = 1 Case 2 IDID = 0 IPIP = UDPMsgIP(recv_STREAM) For i = 2 To p_anz If acc(i) = 0 Then IDID = i:Exit ;If acc(i) = 1 And UDPMsgIP(recv_STREAM) = IP(i) Then IDID = i:Exit Next If IDID IP(IDID) = IPIP New_p(IDID) = 1 WriteByte(send_STREAM,2) WriteInt(send_STREAM,IDID) WriteInt(send_STREAM,p_anz) SendUDPMsg(send_STREAM,IP(IDID),send_PORT) Else WriteByte(send_STREAM,3) SendUDPMsg(send_STREAM,IPIP,send_PORT) EndIf Case 3 IDID = ReadInt(recv_STREAM) new_p(IDID) = 2 End Select Wend Else While RecvUDPMsg(recv_STREAM) Select ReadByte(recv_STREAM) Case 1 For i = 1 To p_anz If i <> ID ac = ReadByte(recv_STREAM) If ac = 1 ;x(i) = ReadFloat(recv_STREAM) ;y(i) = ReadFloat(recv_STREAM) ;z(i) = ReadFloat(recv_STREAM) ;yw(i) = ReadFloat(recv_STREAM) ;xw(i) = ReadFloat(recv_STREAM) name$(i) = ReadString(recv_STREAM) EndIf If acc(i) = 0 And ac = 1 Then new_p(i) = 1 If acc(i) = 1 And ac = 0 Then New_p(i) = 2 EndIf Next End Select tt = 1 Wend If send_ms <= MilliSecs() - 25 Then WriteByte(send_STREAM,1) WriteInt(send_STREAM,ID) ;WriteFloat(send_STREAM,x(ID)) ;WriteFloat(send_STREAM,y(ID)) ;WriteFloat(send_STREAM,z(ID)) ;WriteFloat(send_STREAM,yw(ID)) ;WriteFloat(send_STREAM,xw(ID)) WriteString(send_STREAM,name$(ID)) SendUDPMsg(send_STREAM,IP(1),send_PORT) tt = 1 EndIf EndIf End Function Function UpdateALLPl() For i = 1 To p_anz If New_p(i) = 1 acc(i) = 1 New_p(i) = 0 ElseIf new_p(i) = 2 acc(i) = 0 New_p(i) = 0 If i = 1 Cls Text 400,100,"DER HOST HAT DAS SPIEL VERLASSEN!",1 Text 400,200,"SPIEL MUSS AUS DIESEM GRUND BEENDET WERDEN!",1 Text 400,400,"BELIBIGE TASTE ZUM FORTFAHREN DRÜCKEN!",1 Flip Delay 1000 FlushKeys() WaitKey() End EndIf EndIf Next End Function Woran kann das liegen das keiner von denen die nachricht empfagen ? mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, da ich annehme das mir keiner so recht helfen kann und ich das Problem gelöst habe, könnt ihr den Threat bitte schließen [@Mods]
mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was war die Lösung? | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab den Code nochmal neu programmiert, diesmal aber mit Codehilfen von einem anderen Spiel,das ich mal gemacht habe und das lief... Funzt jetzt alles, woran es lag weiß ich aber immer noch nicht...
mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group