AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Interner Netzwerkchat klappt nicht (Keine Fehlermeldung)
Thema durchsuchen
Ansicht
Themen-Optionen

Interner Netzwerkchat klappt nicht (Keine Fehlermeldung)

Ein Thema von Delphi-Narr · begonnen am 3. Feb 2010 · letzter Beitrag vom 4. Feb 2010
 
Benutzerbild von Delphi-Narr
Delphi-Narr

Registriert seit: 29. Aug 2009
Ort: Duisburg
437 Beiträge
 
Delphi 2007 Professional
 
#1

Interner Netzwerkchat klappt nicht (Keine Fehlermeldung)

  Alt 3. Feb 2010, 17:54
Hallo, ich habe gerade einen Chat programmiert, der im internen Netzwerk laufen soll.
Dazu habe ich einen Server erstellt und einen Client, die Benutzeroberfläche. Nur klappt das leider nicht, wenn ich von einem anderen PC in den Chat will, als von dem, auf dem der Server läuft.

Serverprogrammcode (Das wichtigste):

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var Text:string;
i: Integer;
begin
Text:=Socket.ReceiveText;
For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
begin
with ServerSocket1.Socket.Connections [I] do
if (Connected) then SendText(Text);
end;
end;

So, und der eigentliche Chat besteht aus einem Feld, in welches man die IP eintragen soll, einem Nachrichteneingabefeld, einem Senden- und einem Verbinden- button, einem "Verlaufs-RichEdit" und natürlich einem Client.

Verbindenbutton:
Delphi-Quellcode:
procedure TMessenger.ConnectClick(Sender: TObject);
begin
     Client1.host:=Servername.Text;
     Client1.Active:=True;
     Send.Enabled:=True;
     delay(200);
     Nachricht:=Nickname+' ist der Sitzung beigetreten';
     Client1.Socket.SendText(Nachricht);
end;

Sendenbutton:

Delphi-Quellcode:
if Text.text='then exit;
Client1.Socket.SendText(Nickname + ': ' + Text.text);
Text.clear;
"Text" ist das Eingabefeld für die Nachricht...

Delphi-Quellcode:
procedure TMessenger.Client1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var E,N,M:string;
    i:integer;
begin
     Show;
     Application.Restore;
     if Messenger.Left=Screen.Width then begin
     while Messenger.Left<>Screen.Width-Messenger.Width do
     begin
          if Messenger.Left>Screen.Width-Messenger.Width then
          begin
          Messenger.Left:=Messenger.Left-5;
          end;
     end;
     end;
     if Messenger.Left>Screen.Width-Messenger.Width then
     begin
          Messenger.Left:=Screen.Width-Messenger.Width;
     end;
     E:=(Client1.Socket.ReceiveText);
     i:=1;
     while E[i]<>' do i:=i+1;
     N:=E;
     M:=E;
     //Name und eigentliche Nachricht werden getrennt
     delete(M,1,i);
     delete(N,i+1,Length(N));
     Verlauf.SelAttributes.Color:=clred;
     Verlauf.Lines.Add(N);
     Verlauf.SelAttributes.Color:=clblack;
     Verlauf.Lines.Add(M);
end;

Wenn ich den Server nun auf dem PC mit 192.168.1.101 starte und auf dem gleichen Computer den Chat öffne, dann klappt das Ganze wunderbar. Ich hab im Server ein Memo, welches alle Daten auflistet und dort kommt auch alles an.
Ein anderer PC, der unter "Netzwerk" angezeigt wird, funktioniert jedoch nicht. Ich geb die IP des Servers ein und klicke auf "Verbinden", doch es geschieht gar nichts. Der Server merkt nichts, der Chat spuckt aber auch keine Fehlermeldung aus, also wird der Server wahrscheinlich gefunden.

Kann mir jemand sagen, wo der Fehler ist?

Liebe Grüße!
  Mit Zitat antworten Zitat
 


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 08:29 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