AGB  ·  Datenschutz  ·  Impressum  







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

Indy 9 Chat Problem

Ein Thema von Maximus · begonnen am 3. Okt 2005 · letzter Beitrag vom 3. Okt 2005
Antwort Antwort
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#1

Indy 9 Chat Problem

  Alt 3. Okt 2005, 19:51
Hallo,

Ich möchte einen Netzwerkmodus für ein Spiel schreiben. Und zum testen der Komponenten hab ich mal ein Chat Testprogramm geschrieben.

Der Client kann zum Server Connecten und immer wenn man beim Client etwas schreibt erreicht es den Server.

Wie aber kann ich vom Server aus dem Client etwas schreiben? - Beim Server gibts kein IdTCPServer1.WriteLN und beim Client gibts kein OnExecute Ereignis.

Aus den Samples der Indy Komponenten werd ich auch nicht schlau.

Wie kann ich jetzt vom Server etwas dem Client senden (WriteLN) und der Client soll dann merken (OnExecute) ob der Server etwas geschrieben hat!

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 19:55
beim Server gibt es kein Writeln weil ja mehrere Clients verbunden sein können. Schau mal ob es da sowas wie Server.Connection.Writeln gibt oder irgendwas anderes noch was dafür sorgt das man die verschiedenen client-connections ansprechen kann und von diesen aus müsste es dann irgendwo als untermethode auch writeln geben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#3

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:12
Ich hab mir jetzt mal die proceduren und funktionen angesehen aber keine gefunden mit der ich die einzelne Clients ansprechen kann.

Im Sample wurde es so gelöst:
Server Startet
Server Schreibt ein Text im OnExecute Ereignis
Client Connected, löst das OnExecute ereignis des Servers aus und liest den Text aus.
Server Disconnect

Ich möchte aber nur einmal eine Verbindung aufbauen und dann je nach Ereignis einen Text senden und diesen dann sofort auslesen. Mir scheint das geht von Server zu Client gar nicht.

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:17
Daran bin ich auch mal fast verzweifelt! Ich hab dann auf jedes Programm ein Server und ein Client gemacht....

mfg mr47

[edit1] Das ist natürlich quick'n'dirty aber funktioniert ^^ Ich denke es gibt aber eine Professionelle Alternative, ich kenn sie nur net ^^[/edit1]
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#5

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:23
Zitat von mr47:
Ich denke es gibt aber eine Professionelle Alternative, ich kenn sie nur net
Und ganz genau die Suche ich.

Die andere Alternative wäre die Socket Komponenten von Borland, nur bei meiner D7 PE gibts die nicht, eventuell weiß einer wo man die herbekommt für D7.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:29
die sind bei Delphi7 nur nicht auf der Palette. Du kannst sie auch zur laufzeit erzeugen (unit scktcomp). Und irgend ein package im Ordner "bin" ist das für die Sockets, weiß im Moment leider nicht welches (mal die suche nutzen)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#7

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:48
Das Package ist ab Delphi 7 nicht mehr dabei, zumindest nicht bei der PE. Jedoch funktioniert es wenn ich die Sockets zu Laufzeit erstelle.

Damit müsst ich meine Probleme beheben können.

Thx SirThornberry und mr47

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:51
wenn die unit dabei ist kannst du dir auch selbst ein package erstellen und die Sockets rein hängen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:53
Den ReadLn Text des Clients erhält man an Besten über einen Timer. Auf jedem Programm einen CLient und einen Server ist überhaupt nicht im Sinne von TCP.

Einfach im OnTimer Event ReadLn abfragen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Indy 9 Chat Problem

  Alt 3. Okt 2005, 20:56
mir ist wieder eingefallen wie ichs gemacht hab. Ich hab im OnConnectin mir den "AThread" (TIdPeerThread) der als Parameter übergeben wird in eine Liste gepackt und somit konnte ich später darauf zugreifen. Im OnDisconnect hab ich den natürlich wieder aus der Liste entfernt.
über IdTCPServer1.Threads kannst du eventuell auch darauf zugreifen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 07:50 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