[BB]LAN-Chat testen
Übersicht

LeonbBetreff: [BB]LAN-Chat testen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Ich habe mit einem Tuto einen kleinen LAN-Chat mit BlitzBasic gecodet Nur kann ich den selber nicht testen ![]() Kann wer den für mich testen? Es sind zwei Programme: Einmal das Prog. für den Host, und einmal für die, die joinen wollen! Hier das für den Host: Code: [AUSKLAPPEN] [syntax="bb"]
spiel=HostNetGame("Network-Chat") ;Testen ob das Spiel von mir gehostet wird: If spiel=2 Else Print "Hosten fehlgeschlagen!" End End If ;Name des Spielers: name$=Input("Wie willst du heißen? ") ;Spieler erstellen (ihm wird eine Nummer zugewiesen) spieler=CreateNetPlayer(spieler_name$) ;Prüfen, ob der Spieler erstellt werden konnte Select spieler Case 0 Print "Error! Fehler beim erstellen des Spielers!" Default Print "Wilkommen im Spiel "+spieler_name Print "Deine Nummer im Network-Chat: "+spieler Print "Drücke Esc um den Chat zu verlassen, Print "und F1 um eine Nachricht zu verschicken" End Select ;bei Esc bricht der "Chat" ab Repeat If RecvNetMsg() Then ;wenn wir eine Nachricht erhalten haben: nachricht=NetMsgType() ;was ist das für eine Nachricht? ;Nachricht-Möglichkeiten: ;-------------------------------------------------------------------- ; 1-99 - Nachrichten von anderen Spielern ; 100 - Ein neuer Spieler ist der Netzwerksession beigetreten ; 101 - Ein Spieler hat die Session verlassen ; 102 - Der Host hat die Session verlassen und der eigene Computer ist nun Host ; 200 - Ein Problem ist aufgetreten und die Session muß beendet werden ;------------------------------------------------------------------------------------------- If nachricht=100 Color 255,0,0 ;Farbe: rot Print "Ein neuer Spieler ist der Netzwerksession beigetreten" Else If nachricht=101 Color 255,0,0 ;Farbe: rot Print "Ein Spieler hat die Session verlassen" Else If nachricht=102 Color 255,0,0 ;Farbe: rot Print "Der Host hat die Session verlassen und der eigene Computer ist nun Host" Else If nachricht=200 Print "Ein Problem ist aufgetreten und die Session muß beendet werden" ElseIf nachricht > 0 And nachricht < 100; Nachricht ist von einem Spieler: spieler_nummer = NetMsgFrom() ;Nummer des Spielers erfahren spieler_name = NetPlayerName(spieler_nummer) ;Spierler Name nachricht = NetMsgData$() ;Nachricht ;alles ausgeben: Print "Du hast eine Nachricht von "+spieler_name+"bekommen!" Print "Seine Nummer: "+spieler_nummer Print "Die Message lautete:" Print nachricht End If End If If KeyHit(59) Then Gosub Senden Until KeyHit(1) StopNetGame End .Senden Print "An wen willst du eine Nachricht schicken? " to_name$=Input("Name: ") ;an wen? (name) to_number=Input("Nummer von "+to_name$+"? ");an wen? (nummer) message_to_send$=Input("Deine Message: ");message: Print "Deine Message:" Print "From "+name+" to "+to_name+" ("+spieler+" to "+to_number+")" Print message_to_send$ SendNetMsg 1, message_to_send, spieler, to_number Return[/syntax] Hoffe es ist auch alles richtig.......... Und das für die Joiner: Code: [AUSKLAPPEN] [syntax="bb"] ;Name des Spielers: name$=Input("Wie willst du heißen? ") ;Spieler erstellen (ihm wird eine Nummer zugewiesen) spieler=CreateNetPlayer(spieler_name$) spiel = JoinNetGame("Network-Chat", 127.0.0.1) ;Prüfen, ob der Spieler erstellt werden konnte Select spieler Case 0 Print "Error! Fehler beim erstellen des Spielers!" Default Print "Wilkommen im Spiel "+spieler_name Print "Deine Nummer im Network-Chat: "+spieler Print "Drücke Esc um den Chat zu verlassen, Print "und F1 um eine Nachricht zu verschicken" End Select ;bei Esc bricht der "Chat" ab Repeat If RecvNetMsg() Then ;wenn wir eine Nachricht erhalten haben: nachricht=NetMsgType() ;was ist das für eine Nachricht? ;Nachricht-Möglichkeiten: ;-------------------------------------------------------------------- ; 1-99 - Nachrichten von anderen Spielern ; 100 - Ein neuer Spieler ist der Netzwerksession beigetreten ; 101 - Ein Spieler hat die Session verlassen ; 102 - Der Host hat die Session verlassen und der eigene Computer ist nun Host ; 200 - Ein Problem ist aufgetreten und die Session muß beendet werden ;------------------------------------------------------------------------------------------- If nachricht=100 Color 255,0,0 ;Farbe: rot Print "Ein neuer Spieler ist der Netzwerksession beigetreten" Else If nachricht=101 Color 255,0,0 ;Farbe: rot Print "Ein Spieler hat die Session verlassen" Else If nachricht=102 Color 255,0,0 ;Farbe: rot Print "Der Host hat die Session verlassen und der eigene Computer ist nun Host" Else If nachricht=200 Print "Ein Problem ist aufgetreten und die Session muß beendet werden" ElseIf nachricht > 0 And nachricht < 100; Nachricht ist von einem Spieler: spieler_nummer = NetMsgFrom() ;Nummer des Spielers erfahren spieler_name = NetPlayerName(spieler_nummer) ;Spierler Name nachricht = NetMsgData$() ;Nachricht ;alles ausgeben: Print "Du hast eine Nachricht von "+spieler_name+"bekommen!" Print "Seine Nummer: "+spieler_nummer Print "Die Message lautete:" Print nachricht End If End If If KeyHit(59) Then Gosub Senden Until KeyHit(1) StopNetGame End .Senden Print "An wen willst du eine Nachricht schicken? " to_name$=Input("Name: ") ;an wen? (name) to_number=Input("Nummer von "+to_name$+"? ");an wen? (nummer) message_to_send$=Input("Deine Message: ");message: Print "Deine Message:" Print "From "+name+" to "+to_name+" ("+spieler+" to "+to_number+")" Print message_to_send$ SendNetMsg 1, message_to_send, spieler, to_number Return[/syntax] Fehler bitte melden (hoffe es sind nicht allzuviele ![]() |
||
meine HP:
http://www.scz.de.ms |
- Zuletzt bearbeitet von Leonb am So, Feb 20, 2005 13:47, insgesamt einmal bearbeitet
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
klar kannst du den testen, verbinde mit dem client einfach auf 127.0.0.1 | ||
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: klar kannst du den testen, verbinde mit dem client einfach auf 127.0.0.1
Verstehe ich nicht......... Das ist mit DirecPlay geschrieben, und 127.0.0.1 bin doch ich (localhost) ???????? |
||
meine HP:
http://www.scz.de.ms |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eben, dann kannst du mit dir selbst chatten ![]() |
||
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und wie?
*Ich bin ein NooB* ![]() |
||
meine HP:
http://www.scz.de.ms |
![]() |
jhabekost |
![]() Antworten mit Zitat ![]() |
---|---|---|
host prog starten->hosten, joind prog starten->localhost (oder 127.0.0.1) joinden
beim host porggie wat schreiben und gucken wies beim joind proggie ankommt... und andersrum... |
||
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
achso ![]() jetzt hab ichs kapiert ![]() edit: funzt nicht ![]() Ich bekomme eine Nachricht, dass das Multiplayer Game nicht existiert! Liegt es daran, dass ich nur die Demo v. habe, und deswegen dat nicht als EXE gestartet habe? Wenn ja, kann mir jemand die zwei EXE Dateioen erstellen ![]() |
||
meine HP:
http://www.scz.de.ms |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
OK, nun klappt alles!
Der Fehler lag im Quellcode! Nun klappt alles Ich kann nun mit mir selber chatten ![]() Man macht das Spaß ![]() Und wie bekomme ich die Nummer von einem anderen raus? Das ich nicht 127.0.0.1 kontaktiere? |
||
meine HP:
http://www.scz.de.ms |
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
na wenn der andere internet hat geht er auf www.wasistmeineip.de und da steht dann die ip ![]() wenns über lan gehen soll, kommandozeile auf (ausführen -> cmd) und ipconfig eingeben dann wird die lokale ip angezeigt |
||
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder du bastelst dir einfach ein phpscript folgenden inhaltes:
<?php print $REMOTE_ADDR; ?> und liest es in blitz aus. ![]() |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, das mit dem Befehl ipconfig ist sehr gut!
(Werde ich mal für eine BATCH Datei schreiben, die das macht....) Das mit dem PHP is etwas umständlich, da dann ja auf dem Rechner was wie XAMPP, Apache, oder so drauf sein muss ![]() und das mit "ipconfig" funzt nicht fürs Internet? |
||
meine HP:
http://www.scz.de.ms |
IonPainter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nein wie gesagt dafür die www adresse...
auch lokal aufm apache würd es nicht klappen |
||
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leonb hat Folgendes geschrieben: Das mit dem PHP is etwas umständlich, da dann ja auf dem Rechner was wie XAMPP, Apache, oder so drauf sein muss ![]() soll ja auch nur der server haben. oder du vergibst dir eine feste ip und die clientsoftware sucht sich beim server die ip.txt aus, die mit der statischen ip gefüllt ist. ![]() |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke! | ||
meine HP:
http://www.scz.de.ms |
Leonb |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh, das mit dem ipconfig geht aber nur Online!
Nicht offline Aber was ist den mit der IP im Internetprotokoll? Ist das die Lokale IP? Oder die fürs Netz? |
||
meine HP:
http://www.scz.de.ms |
biegl |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da stehen beide ! Sowohl lokal als auch die fürs netz! | ||
![]() |
nX^ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probier das mal:
Code: [AUSKLAPPEN] Const W% = 640,H% = 480
Const MSGMAX% = 70 Global nettype% = 0,netdata$ = "",netfrom% = 0,netname$ = "" Global msg$ = "" Type chatter Field id% Field name$ End Type Global my.chatter ;screen AppTitle "Mini-Chat" Graphics W,H,0,2 SetBuffer BackBuffer() ;start Fade(0,255) ausgabe = StartNetGame() Fade(255,0) If ausgabe <> 0 Then my.chatter = New chatter my\name = InputLetters("Your Name: ",3,8) my\id = CreateNetPlayer(my\name) Locate 0,20 Else RuntimeError "No Connection!" EndIf ;### MAIN ### Repeat ;input/send key = GetKey() If key >= 32 And key <= 126 And Len(msg) < MSGMAX Then msg = msg+Chr(key) If KeyHit(14) And Len(msg) > 0 Then msg = Left(msg,Len(msg)-1) If KeyHit(28) And msg <> "" Then SendNetMsg 1,msg,my\id,0,1 : Print my\name+": "+msg : msg = "" ;receive While RecvNetMsg() = 1 nettype = NetMsgType() netdata = NetMsgData() netfrom = NetMsgFrom() netname = NetPlayerName(netfrom) If nettype = 1 Then Print netname+": "+netdata ElseIf nettype = 100 Then other.chatter = New chatter other\id = netfrom other\name = netname Print ">>> "+other\name+" has joined <<<" ElseIf nettype = 101 Or nettype = 102 Then For leaving.chatter = Each chatter If leaving\id = netfrom Then Print ">>> "+leaving\name+" has left <<<" Delete leaving.chatter EndIf Next EndIf Wend ;output Color 70,70,70 Rect 0,0,640,18 Color 255,255,255 Line 0,18,W,18 Text 2,2,"SEND: "+msg Flip Until KeyHit(1) Fade(0,255) End ;### FUNC ### Function InputLetters$(infotxt$,min%,max%) Local key%,txt$ Repeat Cls key = GetKey() If (Len(txt) < max) And ((key >= 65 And key <= 90) Or (key >= 97 And key <= 122)) Then txt = txt+Chr(key) If KeyHit(14) And Len(txt) > 0 Then txt = Left(txt,Len(txt)-1) If KeyHit(28) Then If Len(txt) >= min Then Exit Else Text 0,0,"Number of letters must be >= "+min+" and <= "+max : Flip FlushKeys() : WaitKey() : FlushKeys() EndIf EndIf Text 0,0,infotxt+""+txt Flip Forever Return txt End Function Function Fade(von%,nach%) If von < nach Then For i = von To nach Step 5 ClsColor i,i,i : Cls : Flip Next ElseIf von > nach Then For i = von To nach Step -5 ClsColor i,i,i : Cls : Flip Next EndIf End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group