![]() |
Problem mit Indy Client
Hallo,
Ich versuche ein selbstgeschriebenes Spiel als Internet-Spiel mit Indy zu programmieren. Nun möchte ich, bevor der Client sich verbindet, nach vorhandenen Servern suchen. Meine Versuche sind:
Delphi-Quellcode:
Der Client gibt dann beim verbinden eine Fehlermeldung aus oder versucht es einmal sich zu verbinden, und da nach nicht mehr.
procedure TForm7.ServerSuchen;
var i: integer; begin for i := 52000 to 52100 do begin Client.Port := i; try Client.Connect(1000); //procedure wird beendet bei except except //mit finally kommt das Problen: "Socket Error #10061 Connection refused" end; If Client.Connected then begin CCB.Kommentar := 'TRIO_SUCHE_SERVER'; Client.WriteBuffer(CCB,SizeOf(CCB),true); end; end; end; Oder gibt es eine andere Möglichkeit Server zu suchen? Ich hoffe, dass ihr mir dabei helfen könnt. Mfg. Florian Mayer |
Re: Problem mit Indy Client
Du klapperst hier gerade Ports ab und nicht Hosts. Im Internet gibt es nur eine Möglichkeit: Ein "Überserver" auf einer festen Adresse verwaltet alle eigentlichen Server. Die Server müssen sich also an- und abmelden, und du als Client empfängst die Liste aller aktiven Server. Der "Überserver" würde normalerweise mit PHP realisiert.
Im lokalen Netzwerk könnte man auch einen UDP-Broadcast durchführen, den die Server beantworten müssen. |
Re: Problem mit Indy Client
Ich habe das mit den Ports aus einem Indy Beispiel und da das für mich einfach erschien habe ich ds gleich umgeschrieben. Nur wie soll ich das mit dem "Überserver" machen?
|
Re: Problem mit Indy Client
Als Client brauchst du einen Host. So einfach. Nur als Hinweis: Der Port sollte fest sein, du sagst also, mein Programm kommuniziert auf Port 58346, fertig aus.
Zu deiner Frage: Du brauchst einen festen Server, also entweder einen öffentlichen oder deinen Webspace. |
Re: Problem mit Indy Client
Vielen Dank für die Antwort.
Ich werde das aber glaube ich einfacher lösen, dass der Client sich vorher mit der anderen Person absprechen muss und dieser gibt ihm dann die Daten. Das lohnt glaube ich noch nicht für dieses Spiel einen festen Server zu benutzen. :wink: |
Re: Problem mit Indy Client
Und dieser gibt ihm dann die Daten? Dir ist hoffentlich bewusst, dass die Mitteilung der IP-Adresse und das eigentliche Spiel in der selben Internet-Sitzung des Servers erfolgen müssen, da sich andernfalls die IP ändert!?
|
Re: Problem mit Indy Client
Dann geht das halt nur bei leuten, die sich über ICQ oder sonst wie verständigen können, umd die Daten dem anderen mitzuteilen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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