![]() |
TICTACTOE Multiplayer - TCP/IP
Hi,
ich habe auch ein TicTacToe ähnliches Programm (mit Delphi 6) geschrieben, und wollte zu guter Letzt das Programm um einen Multiplayer-Teil über TCP/IP erweitern. Ich habe hier schon nach Units gesucht (auch gefunden); Leider verstehe ich die Initialisierung der Schnittstelle nicht, auch nicht wie man Daten damit überträgt. Gibt es irgenwo eine Unit, mit der ich durch Prozedur-Aufruf die Schnittstelle korrekt initialisieren kann, und dann auch noch STRING-zeichenketten versenden kann Schoneinmal Danke devnull |
Re: TICTACTOE Multiplayer - TCP/IP
Moin devnull,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Da stellen sich mir ein paar Fragen: Welche Komponenten hast Du denn gefunden? Was verstehst Du unter Initialisieren der Schnittstelle? Sollten es die Indys sein, die Du meinst, könntest Du hier mal nach z.B. ![]() Dann müsstest Du vermutlich etwas dazu finden. |
Re: TICTACTOE Multiplayer - TCP/IP
1.) Fehler beim Erfassen von Daten,
und wie kann ein Server Daten vom Client bekommen ? Ich kann weder Daten bekommen, noch senden.
Delphi-Quellcode:
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
uses idTCPServer, idComponent, idTCPComponent, idTCPClient,..;
[...] // Diese Prozedur sollte doch die Daten (hier: 'TESTZEILE') ab- // fangen und in ein EditFeld schreiben. // Geht aber nicht, da kommt ein Connection-Refuse ERROR procedure TForm1.idTCPServer1Execute(ATh...); begin Form1.Edit1.Text := AThread.Connection.ReadLn; end; // Client sendet 'TESTZEILE' an Schnittstelle procedure send_zeichenkette; begin // Client initialisiert Server-Schnittstelle und connected idTCPClient1.Host := '127.0.0.1'; idTCPClient1.Port := 5500; idTCPClient1.Connect; // Nicht senden, wenn nicht verbunden if idTCPClient1.Connected = false then exit; // Sollte TESTZEILE versenden try idTCPClient1.OpenwriteBuffer; try idTCPClient1.WriteLn ('TESTZEILE'); finally idTCPClient1.CloseBuffer; end; finally idTCPClient1.Disconnect; end; end; |
Re: TICTACTOE Multiplayer - TCP/IP
@devnull: Bitte benutz den Code-Highlighter indem du deinen Quelltext in [ delphi ] und [ /delphi ] (ohne Leerzeichen) einfasst.
Danke! MfG Florian :hi: |
Re: TICTACTOE Multiplayer - TCP/IP
Moin devnull,
Du musst den Server auch auf Active = true setzen. |
Re: TICTACTOE Multiplayer - TCP/IP
Hi,
danke für deine Hilfe. Das hat jetzt geklappt. Ich kann jetzt auch Daten vom Server zum Client schicken. Zurück klappt das noch nicht ganz, aber ich denke das wird noch. Eine allgemeine Frage: Kann ich meinem Client Programm Befehle schicken ? .Wenn der Client 'PRG:SHUTDOWN' empfängt, soll sein Programm beendet werden ! .Ich habs probiert mit "halt;", aber dann stürzt das ProgrammFenster ab .(Fenster (Formular) schliesst sich, ist aber noch in TaskBar und im TaskManager sichtbar?! Danke |
Re: TICTACTOE Multiplayer - TCP/IP
Moin Devnull,
Du musst unterscheiden zwischen Client Komponente und Clientprogramm (bzw. jeweils Server). Je nachdem was man vorhat, kann es durchaus sein, dass man für Client- und Serverprogramm jeweils eine Client- und eine Serverkomponente braucht. Für die weitere Frage gilt: Neue Frage - neuer Thread. |
Re: TICTACTOE Multiplayer - TCP/IP
Abend,
jetzt klappt die Datenübertragung. Wenn mein Programm nun Daten übertragen hat, muss dann ich nach jeder Übertragung idTCPClient1.Disconnect; aufrufen ? PS: ich mach idTCPClient1.Connect; einmal beim Programmstart und überprüfe vor jedem Senden, ob eine Verbindung besteht: --> Wenn nein, öffne ich ihn erneut ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz