Entwickler-Ecke
Internet / Netzwerk - Chat text wird nicht übertragen
somebody - Sa 16.02.08 15:57
Titel: Chat text wird nicht übertragen
Hi Leute, ich habe mal einen kleinen CHat in Delphi versucht, aber der geht noch nicht so ganz. Also, erstmal habe ich das ausprobiert an meinem Computer was zu schreiben und das es am Computer meiner Eltern(der steht ein Stockwerk tiefer)angezeigt wird, das geht aber nicht. Auch nicht umgekehrt!!! Also nehme ich an, das der Client und de Server du Daten nicht übertragen, aber das komische ist, die Dateien werden nicht beim anderen angezeigt, sondern Bei einem selber dann aber gleich 2 mal hintereinander.
Hier erstmal der Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DesignText, XPStyler, ScktComp, Menus, BarMenus, CopyRightInfo;
type TForm1 = class(TForm) Button1: TButton; DesignText1: TDesignText; Edit1: TEdit; ColorDialog1: TColorDialog; Button2: TButton; XPStyler1: TXPStyler; ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; BcBarPopupMenu1: TBcBarPopupMenu; Eintrgelschen1: TMenuItem; Edit2: TEdit; CopyRightDialog1: TCopyRightDialog; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure Eintrgelschen1Click(Sender: TObject); procedure ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); private public end;
var Form1: TForm1; a: string;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject); begin CopyrightDialog1.Execute(3000); ColorDialog1.Color := ClWhite;
DesignText1.NewDraw;
ServerSocket1.Port := 12000;
if ServerSocket1.Active = false then begin ServerSocket1.Open; DesignText1.addTextLine('<c>' + inttostr(ColorDialog1.Color) + '</c>' + 'Server online'); end;
if ServerSocket1.Active = true then begin ClientSocket1.Port := 12000; ClientSocket1.Host := 'localhost'; ClientSocket1.Open; end;
ColorDialog1.Color := ClRed; end;
procedure TForm1.Button1Click(Sender: TObject); begin a := Edit1.Text;
if (ClientSocket1.Active) then begin ClientSocket1.Socket.SendText('<c>' + inttostr(ColorDialog1.Color) + '</c>' + a) end else begin DesignText1.AddTextLine('Nicht Verbunden!'); end;
Edit1.Text := ''; end;
procedure TForm1.Button2Click(Sender: TObject); begin if ColorDialog1.Execute then begin ColorDialog1.Color := ColorDialog1.Color; end; end;
procedure TForm1.FormDestroy(Sender: TObject); begin if (ClientSocket1.Active)then begin ClientSocket1.Close; end; end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var MyMessage: String; i: Integer; begin MyMessage := Edit2.Text + ': ' + Socket.ReceiveText;
ColorDialog1.Color := ColorDialog1.Color; DesignText1.AddSpeedLine('<c>' + inttostr(ColorDialog1.Color)+ '</c>' + MyMessage);
for i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do begin ServerSocket1.Socket.Connections[i].SendText(MyMessage); end; end;
procedure TForm1.Eintrgelschen1Click(Sender: TObject); begin DesignText1.Clear; end;
procedure TForm1.ClientSocket1Connecting(Sender: TObject; Socket: TCustomWinSocket); begin ColorDialog1.Color := ClYellow;
DesignText1.AddTextLine('<c>' + inttostr(ColorDialog1.Color) + '</c>' + 'Verbunden mit ' + 'localhost');
ColorDialog1.Color := ClRed; end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin DesignText1.addTextLine('verbindung getrennt'); end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); begin DesignText1.AddTextLine('<c>' + inttostr(ColorDialog1.Color) + '</c>' + Socket.ReceiveText); end;
end. |
Vielleicht weiß jemand, wie man das behebt.
Achso, DesignText ist eine Komponente, nicht das es da fragen gibt. Fehlermeldungen kommen auch keine, die Daten werden nur nicht übertragen.
somebody - Sa 23.02.08 19:46
Dankle für den Tipp, jetzt geht es besser.
Hab ich gar nicht gesehen,d as ich mich einfach nur mit meinem eigen PC verbinde. Sollte ich wohl nächstes mal etwas besser gucken! :lol:
Aber trotzdem danke.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!