AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Internet Chat

Ein Thema von Lucifer · begonnen am 18. Jan 2008 · letzter Beitrag vom 18. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#1

Internet Chat

  Alt 18. Jan 2008, 10:43
Hallo

Ich bin dabei einen chat zu programmieren
aber ich hab ein problem:

Der client schickt die nachricht an den Server (werden in einem memo angezeigt)
doch der Server verschickt den erhaltenen Text nicht zurèck an die clients

Das ist der Server
Zitat:
var
Form1: TForm1;
MSG: String;

implementation

{$R *.DFM}

procedure TForm1.ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
MSG := Socket.ReceiveText;

Memo1.Lines.Add(MSG);

Socket.SendText('Server is now Online');
end;
Das ist der Client

Zitat:
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket.Socket.SendText(edit1.text+' : ' + Memo2.Lines.Text);
end;

procedure TForm1.ClientSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.lines.add(clientsocket.Socket.ReceiveText);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket.Active:=TRUE;
if(ClientSocket.Active)then
ClientSocket.Socket.SendText(edit1.text+' has Connected');
end;
Ich will nàmlich dass wenn ein Client einen Text an den Server verschickt, dass der Server den Text an alle Clients zurückschickt
damit diese ja den text lesen können.
Nur geht das nicht.

Im Server hab ich auch ein Memo damit ich mir ansehen kann was von den Clients verschickt wurde.
Den Text der Clients erhält der Server und schreibt auch ins Memo rein.

Port ist richtig gewählt und wurden auf router/modem und firewall freigegeben und ist in diesem fall nicht das problem.
Ip hab ich die IP/Wan IP von meinem PC benutzt da er sowohl als Server als auch als Client fungieren soll.

Ich wàre dankbar wenn man mir den Grund nennen wèrde warum es nicht geht und mir erklären kénnte wie ich es machen könnte.
Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Internet Chat

  Alt 18. Jan 2008, 10:46
1. Der Server schickt nur an den Client zurück, von dem auch gesendet wurde
2. Warum verwendest du in ClientSocketRead nicht das CustomWinSocket, was in den Parametern steht?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#3

Re: Internet Chat

  Alt 18. Jan 2008, 10:52
ok punkt2 war ein blöder fehler.

Aber wie soll ich das denn nun machen damit der Text des Clients an den Server abgegeben wird und dieser dann an alle clients dann schickt?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Internet Chat

  Alt 18. Jan 2008, 10:54
Diesmal musst du wirklich nicht das übergebene Socket nehmen, sondern dein Serversocket verwaltet in seinen Eigenschaften irgendow eine Liste aller ClientSockets. Und dies eListe musst du mit einer ForSchleife durchgehen und an jeden Clientsocket einzeln senden.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Internet Chat

  Alt 18. Jan 2008, 10:55
Zitat von Lucifer:
Ich will nàmlich dass wenn ein Client einen Text an den Server verschickt, dass der Server den Text an alle Clients zurückschickt damit diese ja den text lesen können.
Nur geht das nicht.
Ich sehe auch nirgendwo einen Code wo du dies versuchst bzw. machst. Von daher: was ist denn nun deine eigentliche Frage bzw. das eigentliche Problem?
  Mit Zitat antworten Zitat
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#6

Re: Internet Chat

  Alt 18. Jan 2008, 10:58
Ja ich will ja wissen wo ich grad meinen Fehler mache.
Irgendwie hab ich nàmlich das gefühl ich vergesse was...

Und da ich erst angefangen habe mit Sockets zu arbeiten weis ich auch leider nicht wie man dann die Liste vom Servsocket aufruft UND danach auch an Die gefundenen Clients dann auch etwas verschickt.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Internet Chat

  Alt 18. Jan 2008, 11:01
TServersocket.Socket.ActiveConnections
TServersocket.socket.Conections[x]
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#8

Re: Internet Chat

  Alt 18. Jan 2008, 11:40
Also

Zitat:
Connection:=ServerSocket.Socket.ActiveConnections;
for i:=1 to Connection do
begin
...
end;
Damit gehe ich die Connections durch

Aber wie soll ich das machen mit dem an die einzelnen Clients schicken?

Serversocket.Socket.Connections[X];

Was genau macht den dieser befehl?
In der Hilfe steht nichts.

Und wenn ich ihn mit i oder Connection einsetze dann crasht der server mit ner error
Zitat:
Project chat_server.exe raised exception class eListError with message'List index out of bounds(1)'
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Internet Chat

  Alt 18. Jan 2008, 11:43
Delphi-Quellcode:
for i:=0 to ServerSocket.Socket.ActiveConnections-1 do
  ServerSocket.Socket.Conecctions[i].SendText('...');
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Lucifer
Lucifer

Registriert seit: 29. Mär 2007
62 Beiträge
 
#10

Re: Internet Chat

  Alt 18. Jan 2008, 11:51
Oh mein gott...

hab nicht bemerkt dass man nach connections noch mehr funktionen ausführen kann
Vielen Dank für die Hilfe

Dies hatt mich genug gelehrt.

Bei weiteren Fragen zum Chat Program stelle ich sie dann hier
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:14 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