サーバー用とクライアント用の 2 つのフォームがあります。サーバー フォームに ttcpserver をドロップし、localhost プロパティを 127.0.0.1 に、localport プロパティを 55555 に、Active プロパティを true に設定した後、button1(sendtextbutton) onclick イベント ハンドラを作成しました。
procedure TForm2.Button1Click(Sender: TObject);
begin
TcpServer1.Sendln('message');
end;
次に、クライアント フォームに 1 つの ttcpclient 1 ラベル 2 ボタンをドロップし、クライアントのリモート ホスト プロパティを 127.0.0.1 に、リモート ポートを 55555 に設定し、connectbutton(button1) のイベント ハンドラーを作成しました。
procedure TForm2.Button1Click(Sender: TObject);
begin
try
TcpClient1.Active := true;
except
showmessage('error');
end;
end;
ttcpclient の onconnect イベントを書きました:
procedure TForm2.TcpClient1Connect(Sender: TObject);
begin
Label1.Caption := 'connected!';
end;
最後に、ttcpclient の onrecieve イベント ハドラー:
procedure TForm2.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
Label1.caption := TcpClient1.Receiveln();
end;
クライアント プログラムのキャプションは、(接続してサーバー フォームのボタンをクリックした後) 'メッセージ' に変更されるはずでしたが、変更されません。私はそれを間違った方法でやっていますか?はいの場合、それを行う方法は?サーバーからクライアントにテキスト メッセージを送信しようとしています (逆接続です!)