Problem mit Netzwerk-Prog
Übersicht BlitzBasic Beginners-Corner
AldiBetreff: Problem mit Netzwerk-Prog |
Do, Sep 30, 2004 19:51 Antworten mit Zitat |
|
---|---|---|
Hi,
ich wollte mir mal Netzwerkprogrammierung ansehen und hab mir ein Chat-Prog geschrieben. Da ich nur einen PC hab, kann ich das Programm nur auf diesem einen ausprobieren. Logischerweise sind es zwei Programme(Host, Client). Die Verbindung kriegen sie hin. Wenn aber beide gestartet sind und ich Client schließe, sollte auf dem Host-Programm angezeigt werden, dass sich Client abgemeldet hat. Jedoch schreibt der PC statt: Code: [AUSKLAPPEN] Client hat die Verbindung abgebrochen Code: [AUSKLAPPEN] <unknow> hat die Verbindung abgebrochen Woran liegt das? Ich hab das Programm so geschrieben, wie René Meyer es in seinem Buch vorgemacht hat. Bitte helft mir! |
||
JRQ |
Do, Sep 30, 2004 20:26 Antworten mit Zitat |
|
---|---|---|
Code? | ||
Zitat: <cutthroat> wobei ichs net peil warum kaum spiele in blitz 3d geproggt werden die wirklich seriös sind (bis auf die communitys, meine also kommerziell) wenn es ja so einfach und gut is
<Tobi> Wir brauchen kein Geld! Wir haben ja schon Blitz3D! <Tobi> All die anderen, die für Geld programmieren, machen das nur, damit sie Blitz3D leisten können! |
Aldi |
Sa, Okt 02, 2004 10:54 Antworten mit Zitat |
|
---|---|---|
Hostprogramm:
Code: [AUSKLAPPEN] AppTitle "nt_host" Name$= "nettry" Spiel= HostNetGame(Name) Color 255,0,0 If Spiel= 0 Then Print "Netz konnte nicht gestartet werden" If Spiel= 1 Then Print "Netz gestartet (Client)" If Spiel= 2 Then Print "Nezt gestartet (Host)" Spieler$= "Host" IchNr= CreateNetPlayer(Spieler$) Repeat If RecvNetMsg()= 1 Then Color 255,0,0 Select NetMsgType() Case 100 Print NetPlayerName$(NetMsgFrom()) + " ist dem Netz beigetreten." Case 101 Print NetPlayerName$(NetMsgFrom()) + " hat die Verbindung abgebrochen." Case 102 Print NetPlayerName$(NetMsgFrom()) + "(Host) ist ausgetreten. Du bist nun Host." Case 200 Print "Die verbindung wurde unterbrochen. Kein Host verfügbar." Case 2 Print "Du wurdest von " + NetPlayerName$(NetMsgFrom()) + "aus dem netz geworfen." : Delay 1500 : Exit Default Color 255,255,255 : Print NetPlayerName$(NetMsgFrom()) + ": " + NetMsgData$() End Select EndIf If KeyHit(57)= 1 Then Color 255,255,255 msg$= Input$("Host: ") SendNetMsg 1,msg$,IchNr,0 FlushKeys EndIf If KeyHit(207)= 1 Then msg$= Input$("Host: ") SendNetMsg 2,msg$,IchNr,0 EndIf Until KeyHit(1)= 1 StopNetGame End Clientprogramm: Code: [AUSKLAPPEN] AppTitle "nt_client" Color 255,0,0 IP$= Input("IP des Hosts: ") Print "Verbindung wird aufgebaut..." Name$= "nettry" Spiel= JoinNetGame(Name,IP$) If Spiel= 0 Then Print "Netz konnte nicht gestartet werden" If Spiel= 1 Then Print "Netz gestartet (Client)" If Spiel= 2 Then Print "Netz gestartet (Host)" Spieler$= "Client" IchNr= CreateNetPlayer(Spieler$) Repeat If RecvNetMsg()= 1 Then Color 255,0,0 Absend$= NetMsgFrom() Select NetMsgType() Case 100 Print NetPlayerName$(NetMsgFrom()) + " ist dem Netz beigetreten." Case 101 Print NetPlayerName$(NetMsgFrom()) + " hat die Verbindung abgebrochen." Case 102 Print NetPlayerName$(NetMsgFrom()) + "(Host) ist ausgetreten. Du bist nun Host." Case 200 Print "Die verbindung wurde unterbrochen. Kein Host verfügbar." Case 2 Print "Du wurdest von " + NetPlayerName$(NetMsgFrom()) + " aus dem netz geworfen." : Delay 1500 : Exit Default Color 255,255,255 : Print NetPlayerName$(NetMsgFrom()) + ": " + NetMsgData$() End Select EndIf If KeyHit(57)= 1 Then Color 255,255,255 msg$= Input$("Client: ") SendNetMsg 1,msg$,IchNr,0 FlushKeys EndIf If KeyHit(207)= 1 Then msg$= Input$("Client: ") SendNetMsg 2,msg$,IchNr,0 EndIf Until KeyHit(1)= 1 StopNetGame End |
||
Aldi |
So, Okt 03, 2004 18:31 Antworten mit Zitat |
|
---|---|---|
Kann mir denn niemand helfen??? | ||
The Yeti |
So, Okt 03, 2004 20:26 Antworten mit Zitat |
|
---|---|---|
Ich bin mir nicht sicher, aber könnte das daran liegen, dass der Spieler nicht mehr existiert (er ist ja rausgeflogen), und der Name dieses Absenders deshalb nicht mehr abrufbar ist? | ||
Aldi |
So, Okt 03, 2004 21:17 Antworten mit Zitat |
|
---|---|---|
Naja, dann würde die Nachricht ja keinen großen Sinn machen und bräuchte eigentlich gar nicht vom System gesendet werden. | ||
The Yeti |
Mo, Okt 04, 2004 15:36 Antworten mit Zitat |
|
---|---|---|
Doch, damit man weiß, dass überhaupt ein Spieler das Spiel verlassen hat. Es gäbe ja dann andere Möglichkeiten, herauszufinden, wer das war; z.B. indem man alle übrigen Spieler eine Nachricht senden lässt.
Außerdem sehe ich bei dir keinen anderen möglichen Fehler. Aber wie gesagt: sicher bin ich mir nicht. |
||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group