Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Variablen online versenden (https://www.delphipraxis.net/191151-variablen-online-versenden.html)

Benni0811 14. Dez 2016 06:55

Variablen online versenden
 
Hallo zusammen,

Ich habe ein kleines Spiel programmiert(4 gewinnt) und möchte jetzt die Möglichkeit hinzufügen, online zu spielen. Am besten wäre es wenn man als Nutzer seinen Namen festlegen könnte, dann eine Liste mit allen verfügbaren Nutzern sieht um sich dann einen Spielgegner auszusuchen. Ich habe bereits im Internet gesucht, und habe auf der Seite Delphi-Treff die Komponenten TServersocket und TClientServer gefunden, diese kann ich aber in Delphi nicht finden. Fehlt da vielleicht eine Unit die ich einbinden muss? Und wie verschicke ich dann am besten die Daten?

Grüße

Towmuz 14. Dez 2016 07:06

AW: Variablen online versenden
 
Moin,

schau mal hier http://docwiki.embarcadero.com/RADSt...et-Komponenten

Gruß

Der schöne Günther 14. Dez 2016 08:54

AW: Variablen online versenden
 
Die alten Socket-Komponenten wurden 2002 abgekündigt. Will man die jetzt wirklich noch ausbuddeln?

mjustin 14. Dez 2016 09:19

AW: Variablen online versenden
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1356065)
Die alten Socket-Komponenten wurden 2002 abgekündigt. Will man die jetzt wirklich noch ausbuddeln?

... Delphi, einst ein bekannter Ausgrabungsort für Archäologen aus aller Welt :cyclops:

ConnorMcLeod 14. Dez 2016 10:22

AW: Variablen online versenden
 
Spricht etwas gegen die ICS von F. Piette?

a.def 14. Dez 2016 11:13

AW: Variablen online versenden
 
Zitat:

Zitat von ConnorMcLeod (Beitrag 1356091)
Spricht etwas gegen die ICS von F. Piette?

Und die Indy-Komponenten? :stupid:

Sherlock 14. Dez 2016 14:56

AW: Variablen online versenden
 
Wenn ich die Wahl hätte würde ich immer die ICS verwenden... die sind mehr "delphisch" (vergleiche zu pythonic im Python-Umfeld). ;)

Sherlock

DeddyH 14. Dez 2016 15:04

AW: Variablen online versenden
 
Dann ist Indy also indisch? :lol:

a.def 14. Dez 2016 16:37

AW: Variablen online versenden
 
So schlecht können die Indys doch nicht sein wenn sie schon mit Delphi ausgeliefert werden.

ConnorMcLeod 14. Dez 2016 16:53

AW: Variablen online versenden
 
Bitte keinen Glaubenskrieg, ok?
Meine extrem egoistische Sicht der Dinge ist, daß ICS bislang immer funktioniert hat; die Indys nur meistens. Außerdem bringen die Indys einen Overhead mit, der -ebenfalls sehr subjektiv gesehen- nicht notwendig ist.
Wie der Einzelne sein Ziel erreicht, ist schließlich egal.

BTW: "delphisch" gefällt mir ;-)

PS: funktioniert das Versenden schon?

mm1256 14. Dez 2016 16:53

AW: Variablen online versenden
 
Zitat:

Zitat von a.def (Beitrag 1356155)
So schlecht können die Indys doch nicht sein wenn sie schon mit Delphi ausgeliefert werden.

Genauso sehe ich das auch. Die einzige negative Erfahrung die ich bisher mit den Indy's gemacht habe ist folgendes: Virenscanner erkennen es wohl irgendwie, wenn die Indy's in einer exe vorkommen, und stufen dann die exe möglicherweise als PuP ein. Dem kann man wiederum erfolgreich entgegenwirken, indem man seine exen mit einem SW-Zertifikat signiert. Was wiederum aus meiner Sicht kein großartiger Nachteil ist, denn signierte Programme gehören mittlerweile sowieso zum guten Ton 8-)

jaenicke 15. Dez 2016 06:51

AW: Variablen online versenden
 
Zitat:

Zitat von Benni0811 (Beitrag 1356052)
Am besten wäre es wenn man als Nutzer seinen Namen festlegen könnte, dann eine Liste mit allen verfügbaren Nutzern sieht um sich dann einen Spielgegner auszusuchen.

Dafür brauchst du aber auch einen Server im Internet (Root-Server, virtueller Server, ...), mit dem sich die Spieler verbinden können um zu sehen wer online ist usw.

Benni0811 15. Dez 2016 12:20

AW: Variablen online versenden
 
Erstmal danke für die vielen antworten,
Ich habe jetzt die Socketkomponenten installiert und (mithilfe des Internets) einen kleinen Chat geschrieben. Dieser besteht aus zwei Programmen, zwischen denen man Narichten verschicken kann, was aber nur auf einem Rechner funktioniert hat.

Ich habe dann die Ip mit der sich der Client verbindet auf die meines PCs geändert
Delphi-Quellcode:
ClientSocket1.Address:='172.16.136.11';


(Vorher war da die Ip, die automatisch auf den eigenen Rechner zurückführt)
Delphi-Quellcode:
ClientSocket1.Address:='127.0.0.1';


Dann habe ich das Programm auf einen anderen Rechner(Im selben Netzwerk) kopiert und versucht mich mit dem dem Server zu verbinden, was aber zu einem Error geführt hat, der mithilfe dieses Codes abgefangen wurde:
Delphi-Quellcode:
procedure TForm2.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  ErrorCode:=0;
  ClientSocket1.Active := False;
  Memo1.Text:=Memo1.Text+'No connection found'+#13#10;
end;
Was ist das Problem?

Klaus01 15. Dez 2016 12:25

AW: Variablen online versenden
 
.. und wie lautet die Fehlermeldung?

Wie sind die Firewalls der Rechner konfiguriert?
Werden eingehende Verbindungen erlaubt?

Grüße
Klaus

Aviator 15. Dez 2016 12:26

AW: Variablen online versenden
 
Zitat:

Zitat von Benni0811 (Beitrag 1356233)
Was ist das Problem?

Stichwort Firewall. Da könntest du zuerst mal ansetzen. Port auf beiden Rechnern weiterleiten/freigeben der benötigt wird.

Bist du in einer Firma. Die IP ist eine aus einem /16 Netz. Wie sieht denn die Subnetzmaske aus? Sind die Rechner evtl. in unterschiedlichen Subnetzen zwischen denen nix geroutet wird?

Benni0811 17. Dez 2016 16:55

AW: Variablen online versenden
 
Das Problem ist gelöst, ich habe vergessen den Port einzustellen. Ich komme jetzt erstmal klar, vielleicht melde ich mich nochmal wenn weitere Fragen auftauchen.

Zitat:

Bist du in einer Firma. Die IP ist eine aus einem /16 Netz.

Ich bin 17 und in meiner Schule laufen alle PCs über ein Netzwerk.

a.def 17. Dez 2016 17:50

AW: Variablen online versenden
 
Zitat:

Zitat von Benni0811 (Beitrag 1356463)
Das Problem ist gelöst, ich habe vergessen den Port einzustellen. Ich komme jetzt erstmal klar, vielleicht melde ich mich nochmal wenn weitere Fragen auftauchen.

Zitat:

Bist du in einer Firma. Die IP ist eine aus einem /16 Netz.

Ich bin 17 und in meiner Schule laufen alle PCs über ein Netzwerk.

Dann kannst du das mit der öffentlichen IP eh vergessen. Denn ohne Port-Forwarding wird das nix.

Aviator 17. Dez 2016 18:35

AW: Variablen online versenden
 
Zitat:

Zitat von Benni0811 (Beitrag 1356463)
Das Problem ist gelöst, ich habe vergessen den Port einzustellen. Ich komme jetzt erstmal klar, vielleicht melde ich mich nochmal wenn weitere Fragen auftauchen.

Zitat:

Bist du in einer Firma. Die IP ist eine aus einem /16 Netz.

Ich bin 17 und in meiner Schule laufen alle PCs über ein Netzwerk.

Trotzdem können die Rechner in unterschiedlichen Subnetzen "stehen". Dann gibt es da auch keine Verbindung untereinander. Das ist eben die sogenannte Subnetzmaske. Wenn die ungleich 255.255.0.0 ist, dann gibt es Subnetze in eurem Netzwerk. Wenn das der Fall ist, dann musst du mit eurem Admin reden ob die Rechner untereinander kommunizieren können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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