TCP Problem bei kleinem Chat
Übersicht

![]() |
GearTechDEehemals 'KillerJo96'Betreff: TCP Problem bei kleinem Chat |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, habe ein Problem mit einem kleinen Chat von TCP.
Da ich ja jetzt langsam anfange mit TCP ist das mein erstes Beispiel. Naja unten poste ich jetzt Server+Client und mein Problem ist, dass wenn ich 2 Clients zum Server starte, kann nur noch 1 Client etwas schreiben.. Warum? Also wenn ich ganz normal den Server starte und dazu paralell den einen Client, funktioniert es fehlerfrei. Doch wenn ein 2.ter dazu kommt, dann kann nur noch der neu dazu gekommende schreiben und der andere nichts mehr. Hier die Codes: Server: BlitzBasic: [AUSKLAPPEN]
Client: BlitzBasic: [AUSKLAPPEN]
Ich hoffe ihr könnt mir helfen |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich denke mal, 2 Clients werden wohl auch 2 ClientStream-Objekte beim Server brauchen, oder?
bin da nicht der Fachmann, aber bis sich jemand Wissendes bei Dir meldet kannst du ja diesen Test mal durchführen: Dein Code + diese Änderungen... BlitzBasic: [AUSKLAPPEN] ... |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm, ist das so wirklich richtig..
ich warte mal besser noch auf ein paar mehr antworten. xD aber danke schonmal werd es mal probieren |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jede neuverbundene Instanz in einen Type![]() Und dann immer alle durchgehen. Grüsse |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okey habe das jetzt anders gemacht. falls es jemand wissen will: nen tcp server mit visual basic gemacht und bei dem klappts wunderbar. trotzdem danke.
jedoch habe ich noch eine frage. bei directplay kann man ja diese msgtypes von 1-99 bestimmen. wie mach ich das bei tcp? sodass ich z.b. x oder y koordinate einzeln verschicke und der server dann weiss, was hier was ist?? |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du verschickst in deinem Protokoll erst z.B. 1 Byte der den Inhalt des folgenden Datenpakets festlegt. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das verstehe ich nicht ganz, zuerst wird ein byte gesendet und dann meine restlichen daten desendet? könntest du vllt ein kleines beispiel posten? | ||
Mit freundlichen Grüßen: GearTechDE |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du sendest z.B. 1 Byte und 2 Int. Das Byte liest du als erstes aus, mit Select![]() ![]() Was das Byte enthält, denkst du dir selber aus (1=Joinen, 2=Chatnachricht usw.). Am besten benutzt du Konstanten, um die Lesbarkeit zu erhöhen. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha oke ich glaube ich habe gelernt... ich probier das morgen mal aus. danke aber schonmal. | ||
Mit freundlichen Grüßen: GearTechDE |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mal ein bisschen 'rumgespielt (da ich TCP & Netzwerk noch nie wirklich benutzt habe).
Server BlitzBasic: [AUSKLAPPEN] Graphics(800,600,32,2) Client BlitzBasic: [AUSKLAPPEN] Graphics(800,600,32,2) Ist alles andere als Perfekt. Ist nur für einen Client ausgelegt, der Ping ist kein richtiger Ping usw. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Xeres: Deine Variante scheint nicht für mehrere Clients zu funktionieren.
Ich habe es immer so gemacht, dass ich vor Nachrichten einen Zahlencode Stelle, gefolgt von einem Trennzeichen, und dann eine Textnachricht. Das versende ich in einem Rutsch mir WriteLine ![]() Beispiel Zitat: "0001>Starwar" -> Starwar joined.
"0003>Hallo" -> Starwar: Hallo "0004>StarwarX" -> Starwar changed his nick to StarwarX. "0002>Bye ihr da" -> StarwarX quit (Bye ihr da) MFG |
||
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber ich denke das löst erstmal das Problem, dass ich weiß, wie ich verschiedene sachen versenden kann und später auc benutzen kann xD ^^
ERSTMALS: Vorher hatte ich das problem ja nicht mehr weil ich mich ja entschieden hatte, einen server mit Visual Basic zu programmieren. Doch ich weiß leider nicht allzu viel in visual basic und bleibe besser im beispiel von Xeres. Danke an dieser Stelle nochmal an dich, du hast mir sehr weiter geholfen denn ich habe jetzt verstanden wie´s geht ![]() Aber das andere Problem ist halt mit dem unendlichen joinen von mehreren Users. Dazu würde mir wieder nur das Stichwort Types in den Mund fallen. Vielleicht kann sich hier ja mal jemand melden, der gute erfahrungen mit tcp etc. gemacht hat und weiß wie so etwas geht. Danke im Voraus Edit: Habe jetzt noch mal etwas probiert. Es will nur irgendwie nicht. Könnt ihr mir sagen warum nicht, hab jetzt ca. eine viertel Stunde gesucht aber keinen Fehler gefunden. Was könnte hier dran falsch sein? Server: BlitzBasic: [AUSKLAPPEN]
Client.bb BlitzBasic: [AUSKLAPPEN]
.\include\Functions.bb BlitzBasic: [AUSKLAPPEN]
So hoffe hier kann mir jemand was drüber erzählen was ich wieder falsch gemacht habe xD |
||
Mit freundlichen Grüßen: GearTechDE |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group