Hallo Leute, ich habe folgendes Problem ich habe einen Server und einen Clienten erstellt vom Clienten zum Server kann ich einen Text verschicken, wenn ich dies umgekehrt machen möchte, bekomme ich eine Fehlermeldung. Woran liegt das?
Hier der 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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ScktComp, StdCtrls, ComCtrls;
type TIP = class(TForm) Label1: TLabel; Label2: TLabel; ClientVerbinden: TButton; ClientTrennen: TButton; ServerVerbinden: TButton; ServerTrennen: TButton; ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; Beenden: TButton; StatusBar1: TStatusBar; ClientSenden: TButton; ServerSenden: TButton; Edit1: TEdit; Edit2: TEdit; Memo1: TMemo; Memo2: TMemo; procedure ClientVerbindenClick(Sender: TObject); procedure ServerVerbindenClick(Sender: TObject); procedure BeendenClick(Sender: TObject); procedure ClientTrennenClick(Sender: TObject); procedure ServerTrennenClick(Sender: TObject); procedure ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); procedure ClientSendenClick(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSendenClick(Sender: TObject); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
private public end;
var IP:TIP;
implementation
{$R *.DFM}
procedure TIP.ClientVerbindenClick(Sender: TObject); begin clientsocket1.active:=true; end;
procedure TIP.ServerVerbindenClick(Sender: TObject); begin serversocket1.active:=true; end;
procedure TIP.BeendenClick(Sender: TObject); begin close; end;
procedure TIP.ClientTrennenClick(Sender: TObject); begin clientsocket1.active:=false; end;
procedure TIP.ServerTrennenClick(Sender: TObject); begin serversocket1.active:=false; end;
procedure TIP.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket); begin statusbar1.simpletext:='Verbindung wurde getrennt'; end;
procedure TIP.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin statusbar1.simpletext:='Error. Verbindung wird getrennt!'; clientsocket1.Active:=false; end;
procedure TIP.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket); begin statusbar1.simpletext:='Verbunden'; end;
procedure TIP.ClientSendenClick(Sender: TObject); begin clientsocket1.socket.sendtext(edit1.text); end;
procedure TIP.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var empfang:string; begin empfang:=socket.receivetext; memo2.lines.add(empfang); end;
procedure TIP.ServerSendenClick(Sender: TObject); begin serversocket1.socket.sendtext(Edit2.text); end;
procedure TIP.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var empfang2:string; begin empfang2:=socket.receivetext; memo1.lines.add(empfang2); end;
end. |
Ich hoffe ihr könnt mir einen Tip geben oder mir weiterhelfen?
Hier ist noch die Fehlermeldung:
| Zitat: |
Im Projekt Project1.exe ist eine Exception der Klasse ESocketError aufgetreten. Meldung:
'Windows-Socket-Fehler: Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde (10057), auf API'send". Prozeß wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen. |
Gruß
Chippie
Moderiert von
Christian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 12.05.2006 um 00:01