TCP Chat problem
Übersicht

![]() |
maboxBetreff: TCP Chat problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, ich hab angefangen einen kleinen TCP Chat zu Proggn.
Leider kommt nur die erste Nachricht vom Server beim Client an und die erste Nachricht vom Client beim Server. Was mache ich falsch? ServerCode: [AUSKLAPPEN] server=CreateTCPServer(8080)
Repeat stream=AcceptTCPStream(server) If stream Then l$ = ReadLine$(stream) Print l$ i$ = Input(">") WriteLine stream, i$ EndIf Until i$ = "ende" End ClientCode: [AUSKLAPPEN] server1$ = "***.***.***.***"
stream1 = OpenTCPStream(server1$, 8080) WriteLine stream1, "hallo" Repeat If stream1 Then l1$ = ReadLine$(stream1) Print l1$ EndIf i$ = Input(">") WriteLine stream1, i1$ Until i1$ = "ende" End |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo nochmal, Ich will nicht mit Doppelposts stören, und ich mache das auch nur weil ich fast am verzweifeln bin und den Chat einfach nicht hinbekomme.
Ich hatte im BlitzChat gefragt, und dort wurde mir gesagt, dass "acceptstream" nur einmal funktioniert und ich solle die Befehle "Readavail" und "Eof" benützen. Ich habe jetzt viel herumprobiert, aber ich bekomms einfach nicht hin. Mein Hauptproblem ist, dass ich nicht ganz verstehe wie ich "acceptstream" in meinem Fall einsetzten muss. Die OH hab ich gelesen, aber daraus werde ich irgendwie nicht schlau ![]() kannst du mir das so erklären das es der dümmste mensch den du kennst (mit halbiertem IQ) versteht? ~EDIT: ich hab den Server jetzt etwas weiter geschafft. Auf jeden Fall kann ich jetzt Nachrichten vom Server an den Client schicken. Vom Client kommt auch was an, aber komischerweise nur eine leere Antwort. was ist da noch falsch? hier mein aktueller ServerCode: https://www.blitzforum.de/upload/code.php?show=862 Und noch ne Frage, Bis jetzt kann man nur eine Nachricht schicken wenn der andere zurückgeschrieben hat. was muss ich anders machen, dass man mehrere Nachrichten nacheinander schreiben kann? |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du BlitzPlus oder Blitz3d? | ||
between angels and insects |
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blitz3D
Also ich habs jetzt geschafft, dassman sich gegenseitig Nachrichten schreiben kann, aber halt immer nur abwechselnd. was muss ich ändern, damit man immer Nachrichten schreiben kann? |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. das input muss Raus.
Anregungen dazu hier: https://www.blitzforum.de/foru...ight=input 2. Der server soll garnicht Chaten können! nur die Cliebnts untereinander. Jeder client hat einen eigenen Stream zum server, --> Types für die Clients. Der server ist nur zum verteilen da. Code: [AUSKLAPPEN] server=CreateTCPServer(8080)
Print "isch bin dor Sörver" ;Stop Type Clients Field IP Field Stream End Type Repeat stream=AcceptTCPStream(server) If stream <> 0 Then Local client.clients = New clients client\ip=TCPStreamIP(stream) client\stream=stream ;Stop EndIf For client.clients = Each clients While ReadAvail(client\stream) <> 0 l$ = ReadLine$(client\stream) Print client\ip+">"+l$ Local empfaenger.clients For empfaenger.clients = Each clients WriteLine empfaenger\stream, l$ Next Wend Delay 10 Next Until i$="ende" End Du hattest statt: WriteLine stream1, i$ WriteLine stream1, i1$ stehen einfach die 1 weg, und es kommt auch ne Nachricht an. Code: [AUSKLAPPEN] server1$ = "127.0.0.1"
stream1 = OpenTCPStream(server1$, 8080) Print "Icke bin der Client" WriteLine stream1, "hallo" Repeat If stream1 Then l1$ = ReadLine$(stream1) Print l1$ EndIf i$ = Input(">") WriteLine stream1, i$ Delay 10 Until i1$ = "ende" End |
||
between angels and insects |
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank schonmal!
zu 2.so müsste ich immer einen anderen PC mit dem Server drauf laufen lassen oder?, das wollte ich vermeiden. Das mit i$ und der 1 hatte ich schon rausgefunden, deshalb stand auch in meinem letzten Post das ichs geschafft hab. zu 1. Ich hab mir schonmal selber ne Inputroutine programmiert welche ich ohnehin einbauen wollte, aber das Problem ist, dass man vom Server ja nur antworten kann wenn etwas ankommt oder? -Deshalb macht man das ja eigentlich auch mit einem Server und mehreren Clients... Bis jetzt funktioniert der Chat nur über LAN und nicht übers Internet, liegt das auch daran, das ich nicht mehrere Clients hab? |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Bis jetzt funktioniert der Chat nur über LAN und nicht übers Internet, liegt das auch daran, das ich nicht mehrere Clients hab?
Es liegt daran, dass du an deinem Router den Port nicht freigegeben hast, denke ich ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
mabox |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein ich habe bei Client und Server den Port am Router freigegeben | ||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group