netzwerk probleme ( TCP/IP )

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

judos

Betreff: netzwerk probleme ( TCP/IP )

BeitragMi, Okt 26, 2005 15:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich habe letzlich mit den TCP/IP Befehlen ein kleiner Netzwerk chat programmieren wollen.

So sieht er aus leider funktioniert er nicht, weil das empfangen von nachrichten nicht funktioniert.

Vielleicht kann mir ja jemand helfen. Hier der Code:

Host:
Code: [AUSKLAPPEN]

port=1000
name$="Server"
TCPTimeouts 100000,10000
game1=CreateTCPServer(port)

If game1<>0 Then
   Print "Server erfolgreich gestartet"
   Else
    Print "Server konnte nicht gestartet werden"
    End
EndIf

While Not KeyHit(1)

stream=AcceptTCPStream(game1)
If stream<>0 Then
   Exit
   Else
    Print "Warte auf Spieler..."
    Delay 1000
EndIf

Wend

Print "Client hat angebissen."
ip$=ReadString(stream)
name$=ReadString(stream)
Print "IP:"+ip$
Print "Name:"+name$

Repeat

game2=OpenTCPStream(ip$,port+1)
If game2<>0 Then
   Print "Verbindung 2 läuft."
   Exit
   Else
    Print "Warte auf Spieler..."
    Delay 1000
EndIf

Forever

window=CreateWindow("Chat",100,100,300,300,0,33)
listbox=CreateListBox(0,0,300,270,window)
AddGadgetItem listbox,"Chat gestartet."
textfield=CreateTextField(0,275,230,20,window)

Repeat

te$=ReadString(stream)
If te$<>"" Then AddGadgetItem listbox,te$
Select WaitEvent(100)
Case $401
Select EventSource()
Case textfield
If EventData()=13 Then
   WriteString game2,name$+" sagt: "+TextFieldText(textfield)
   AddGadgetItem listbox,"Du sagst: "+TextFieldText(textfield)
   SetGadgetText textfield,""
EndIf
End Select
Case $803
WriteString game2,"Spieler verlässt das Spiel."
CloseTCPStream game2
CloseTCPServer game1
End
End Select

Forever


Client:
Code: [AUSKLAPPEN]


count_ips = CountHostIPs("")
TCPTimeouts 10000,1000
For i=1 To count_ips
   ip_hier$=DottedIP$(HostIP(i))
   Print "Deine IP : "+ip_hier$
Next
name$=Input("Dein Name:")
ip_host$=Input("IP des Hosts:")

Repeat

game1=OpenTCPStream(ip_host$,1000)
If game1<>0 Then
   Print "Client erfolgreich verbunden"
   Exit
   Else
    Print "Konnte keine Verbindung herstellen"
EndIf

Forever

a=Input("IP und Name werden gesendet...Leitung 2 wird erstellt.")
Port=TCPStreamPort(game1)
Print "Port:"+port
game2=CreateTCPServer(port+1)
WriteString game1,ip_hier$
WriteString game1,name$

Repeat

stream=AcceptTCPStream(game2)
If stream<>0 Then
   Print "Verbindung 2 läuft."
   Exit
   Else
    Print "Warte auf Spieler..."
    Delay 1000
EndIf

Forever

window=CreateWindow("Chat",100,100,300,300,0,33)
listbox=CreateListBox(0,0,300,270,window)
AddGadgetItem listbox,"Chat gestartet."
textfield=CreateTextField(0,275,230,20,window)

Repeat

te$=ReadString(stream)
If te$<>"" Then AddGadgetItem listbox,te$
Select WaitEvent(1000)
Case $401
Select EventSource()
Case textfield
If EventData()=13 Then
   WriteString game1,name$+" sagt: "+TextFieldText(textfield)
   AddGadgetItem listbox,"Du sagst: "+TextFieldText(textfield)
   SetGadgetText textfield,""
EndIf
End Select
Case $803
WriteString game1,"Spieler verlässt das Spiel."
CloseTCPStream game1
CloseTCPServer game2
End
End Select

Forever



mfg judos
 

judos

BeitragSo, Okt 30, 2005 1:07
Antworten mit Zitat
Benutzer-Profile anzeigen
bitte bitte jemand soll mir doch mal antwort geben, ich weiss nicht wie ich sonst die tcp\ip befehle lernen kann...

mfg judos

tft

BeitragSo, Okt 30, 2005 10:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi...

es gibt im Codearchiv etliche beispiele.... such mal da....
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!
 

fliege

BeitragSo, Okt 30, 2005 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Frag mich nicht aber es kann daran liegen das du am Client Pakete sendest und dann aber welche empfangen willst, und wenn der server nichts schreibt dann schreibt auch der client nicht mehr Wink
Vielleicht hilft dir das
Fliege
Wer weiß was kommt.. ?
 

judos

BeitragMo, Okt 31, 2005 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
also muss der client und der Host immer zugleich nachrichten senden...

hmm

werds mal überlegen...

mfg judos§
 

fliege

BeitragMo, Okt 31, 2005 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
So meinte ich das nicht, ich meinte das du den client drauf einstellst das er empfängt, und dann wird er nicht senden, solange er nichts empfängt.
War bei mir zumindest so, kann dir nicht sagen ob es dir hilft...

Fliege[/syntax]
Wer weiß was kommt.. ?

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group