AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit Indy Client
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Indy Client

Ein Thema von Reyam · begonnen am 12. Aug 2007 · letzter Beitrag vom 13. Aug 2007
Antwort Antwort
Reyam

Registriert seit: 15. Jun 2007
12 Beiträge
 
Delphi 7 Personal
 
#1

Problem mit Indy Client

  Alt 12. Aug 2007, 22:07
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:
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;
Der Client gibt dann beim verbinden eine Fehlermeldung aus oder versucht es einmal sich zu verbinden, und da nach nicht mehr.

Oder gibt es eine andere Möglichkeit Server zu suchen?
Ich hoffe, dass ihr mir dabei helfen könnt.

Mfg.

Florian Mayer
Florian Mayer
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem mit Indy Client

  Alt 12. Aug 2007, 22:13
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Reyam

Registriert seit: 15. Jun 2007
12 Beiträge
 
Delphi 7 Personal
 
#3

Re: Problem mit Indy Client

  Alt 12. Aug 2007, 22:17
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?
Florian Mayer
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Problem mit Indy Client

  Alt 12. Aug 2007, 22:27
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Reyam

Registriert seit: 15. Jun 2007
12 Beiträge
 
Delphi 7 Personal
 
#5

Re: Problem mit Indy Client

  Alt 12. Aug 2007, 22:34
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.
Florian Mayer
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Problem mit Indy Client

  Alt 12. Aug 2007, 22:40
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!?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Reyam

Registriert seit: 15. Jun 2007
12 Beiträge
 
Delphi 7 Personal
 
#7

Re: Problem mit Indy Client

  Alt 13. Aug 2007, 14:26
Dann geht das halt nur bei leuten, die sich über ICQ oder sonst wie verständigen können, umd die Daten dem anderen mitzuteilen.
Florian Mayer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz