hallo an allen.
nach manchem ni und her habe ich einen kleinen server gebastelt mit indy9 und D-7 E.
hier erst mal den code:
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:
| unit chat_s;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPServer, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Label1: TLabel; Memo1: TMemo; server: TIdTCPServer; Button3: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure serverExecute(AThread: TIdPeerThread); procedure serverDisconnect(AThread: TIdPeerThread); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private msg,sms:string; public end;
var Form1: TForm1; buffer:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin memo1.Lines.Clear; form1.Caption:=('Server'); server.DefaultPort:=2200; server.Bindings.DefaultPort:=2200; server.Active:=true; end;
procedure TForm1.serverExecute(AThread: TIdPeerThread); var ip,iesire:string; begin Ip:=athread.connection.socket.binding.peerip; label1.Caption:=ip; athread.Connection.WriteLn('hallo client'); if msg <>'' then begin athread.Connection.WriteLn(msg); end; iesire:=athread.Connection.CurrentReadBuffer; memo1.Lines.Add(iesire); end;
procedure TForm1.serverDisconnect(AThread: TIdPeerThread); begin athread.Connection.WriteLn('Server deconectat'); end;
procedure TForm1.Button2Click(Sender: TObject); begin form1.Caption:=('Server deconectat'); label1.Caption:=(''); server.Active:=false; end;
procedure TForm1.Button3Click(Sender: TObject); begin msg:=edit1.Text; memo1.Lines.Add(edit1.text);
end;
end. |
mit diesem server kann ich mich en einem oder mherere clienten verbinden aber einen string wierd nur zwieschen einem clienten und dem server gesendet.
nun meine frage:
wie kann ich zwei oder mherere clienten uber diesen server verbinden?
Moderiert von
Klabautermann: Code- durch Delphi-Tags ersetzt.