![]() |
Einfache Netzwerkkomponenten
Hi,
Ich programmiere ein ![]() thx, arbu man |
Re: Einfache Netzwerkkomponenten
Die Standardantwort: die
![]() |
Re: Einfache Netzwerkkomponenten
Zitat:
Aber sind die Komponenten TIdTCPClient(und Server) auch für Netzwerkspiele geeignet da die CPU auslastung immer bei 100% liegt und die Nachrichten in einen Thread abgefragt werden oder gibt das Probleme ? |
Re: Einfache Netzwerkkomponenten
Zitat:
|
Re: Einfache Netzwerkkomponenten
Zitat:
|
Re: Einfache Netzwerkkomponenten
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:
(Wirklich nur gaaaanz grob)
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 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