delphi.gif (306 バイト) ServerSocketの使い方


ServerSocketを使用すると、TCP/IPサーバ機能をアプリケーションに追加することができます。

 

toach.gif (917 バイト) クライアントからの要求を受け付けられるようにするには

  1. サーバがサービスを行うためのポート番号をPortプロパティに設定します。
  2. Openメソッドを実行してクライアントからの接続要求を監視します。(オブジェクトインスペクタでActiveプロパティをTrueにしておくとアプリケーション起動時に、自動的に監視動作ができます)
  3. クライアントの要求を受け付けると、OnClientConnectイベントが発生します。必要ならSocketオブジェクト(イベントパラメータ)を使って接続についての情報を取得できます。

 

toach.gif (917 バイト) テキストをクライアントに送るには

ServerSocket.Socket.Connections[n].SendTextメソッドを使ってテキストを送ることができます。Connections配列の各エントリは TServerClientWinSocket オブジェクトで,Index 値 0 は,1 番目の TServerClientWinSocket,Index 値 1 は 2 番目の TServerClientWinSocket を返します。

ServerSocket.Socket.Connections[0].SendText(Memo1.Lines[Memo1.Lines.Count - 1])

 

toach.gif (917 バイト) クライアントからのテキストを受け取るには

OnRead イベントが,クライアントソケットがソケット接続から情報を読み出すことが必要になったときに発生します。このイベントハンドラの中でテキストを受け取ります。

procedure TChatForm.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo2.Lines.Add(Socket.ReceiveText);
end;