Befehle/Infos an bestimmte Clients senden?
Übersicht

![]() |
KnykBetreff: Befehle/Infos an bestimmte Clients senden? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich brauche mal nen kleinen Ansatz von euch^^ Man stelle sich folgendes vor: Es gibt einen Server, client A,B,C und D und ein Steuerprogramm. Nun sage ich z.b im Steuerprogramm: "Client B Fensterfarbe grün" (Ja ich weiss xD aber mir fällt kein sinnvolles Beispiel ein^^) und der Server soll dann logischerweise Client B sagen: "Stell dich mal auf grün." Wie realisier ich das am besten, dass ich bestimmten Clients etwas mitteilen kann? (sowohl Serverseitig, als auch das entgegennehmen der Mitteilungen um Programm) Ich kenne mich in Sachen Kommunikation mit nem Server nämlich noch nicht sooo gut aus^^ Aber über nen regelmäßigen check über eine tcp Verbindung wäre ja schon mal nicht praktisch weil doch dann das gesamte Programm auf eine Antwort wartet? Das hier scheint mir zumindest Serverseitig das zu sein, was ich meine: https://www.blitzforum.de/foru...hp?t=38835 Kann mir jemand vielleicht nochmal kurz genau erklären was da abläuft? Danke für die Hilfe |
||
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein, eine TCP Verbindung zu prüfen sollte das Programm nicht aufhängen lassen, außer du hast irgendwas falsch programmiert. Wie sollen denn sonst sämtliche Spiele/Programme laufen, die TCP benutzen?
Du deklarierierst halt bestimmte Codes die für verschiedene Aktionen stehen. Diesen Code schickst du am Anfang jeder Nachricht, damit die anderen wissen was zu tun ist und dementsprechend handeln. Diese Codes müssen aber statisch sein! Z.b.: BlitzMax: [AUSKLAPPEN] Const CODE_tueA:Byte=1 Dann schickst du eben am Anfang immer ein Byte, dass so einen Code enthält und die Clients verhalten sich dementsprechend. |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
Knyk |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja Okay, danke schonmal.
Was mir allerdings nicht klar ist, ist 1. Wie kann ich es so machen, dass der Client die Befehle SOFORT erhält? (also nich so, dass er alle paar minuten abfragen muss) 2. Wie ich NUR Client A oder NUR Client B anspreche. |
||
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja ehm, was benutzt du denn für eine Netzwerklib? Damit ließe sich das einfacher in Code ausdrücken ![]() Zu 1... Naja, du überprüfst eben in der Hauptschleife einfach jedes mal, ob neue Pakete angekommen sind. Dafür muss eben am Anfang des Programms/wann auch immer das Netzwerkzeugs benötigt wird eine Verbindung zu dem Steuerprogramm/Server hergestellt werden. Und 2. ist eigentlich auch einfach. Du speicherst ja als Server sämtliche Clients, zu denen du eine Verbindung hast. Ob du das nun in einem Array oder einer Liste machst ist ja nun dir überlassen, aber ich seh das Problem nicht. Du kannst doch einfach dann dir aus dem Array/Liste den entsprechenden Client raussuchen und eben nur an den schicken. Ist doch alles nicht sonderlich schwer ![]() |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
Knyk |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lion hat Folgendes geschrieben: Ist doch alles nicht sonderlich schwer ![]() Ist wohl mit allem so ![]() Lion hat Folgendes geschrieben: aber ohne zu wissen, wie du überhaupt Verbindungen herstellst ist es schwer, dir im konkreten Fall zu helfen. genau da fängt meine Frage ja an ^^ Im Grunde will ja "nur" wissen wie man da rangeht. |
||
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also wenn du dir noch keine ausgesucht hast, würde ich dir Bnetex empfehlen, ist sehr einfach meiner Meinung nach.
Such das hier im Forum einfach in der Modulsektion, sind natürlich auch gleich Beispiele für TCP & UDP drin, mit denen einfach mal ein bisschen rumspielen bis du es verstanden hast ![]() |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group