Je nach dem, was es für ein Spiel ist, könntest du auch UDP anstelle von
TCP benutzen.
UDP ist ein sogenanntes "verbindungsloses" Protokoll, d.h. du schickst einfach Daten an einen
Zielrechner in der Hoffung sie kommen an
Dabei können sich Pakete überholen oder verloren gehen, dafür ist der Overhead (zusätzlich
anfallende Daten, die nur intern genutzt werden und nicht von dir) sehr gering.
Meist ist UDP auch schneller als
TCP sodass es für actionreiche Spiele meist besser geeignet ist.
(Und wo es nicht so viel ausmacht, wenn mal geringe Informationen verschluckt werden)
Was Daniel G mit Protokoll meinte:
Du musst dir "Kommandos" überlegen, welche du losschicken kannst
und welche dann beim Server/Client gewissen Aktionen oder Antworten auslösen.
Das kann schnell viel werden, ist aber an sich nicht schwer zu implementieren.
z.B. könntest du dir Konstanten definieren:
Delphi-Quellcode:
const
DO_THAT = 'DOIT';
procedure Button1Click(Sender: TObject);
begin
Client.Socket.SendText(DO_THAT);
end;
procedure ServerOnRead(bla blubb);
var Data: string;
begin
Data := Socket.ReceiveText;
if Data = DO_THAT then
ShowMessage('Ich mache was');
end;
(Wirklich nur gaaaanz grob)