1

elisp のネットワーク サーバー マニュアルを読みましたが、ソケット リッスン サーバーの記述が見つかりません。関数「make-network-process」のいくつかの謎:

  1. サーバーをバインドする方法は?
  2. クライアント接続を受け入れ、新しいネットワーク プロセスを作成する方法は?
  3. 新しく作成されたネットワーク プロセスによってクライアント プロセスと通信する方法は?

ネットワーク サーバーに関するスニペット ソース コードはありますか?

4

1 に答える 1

1

make-network-processリスニングサーバーを作成し、指定されたポートにバインドします。そのためには:server t、キーワード引数の中から指定する必要があります。

クライアント接続は自動的に受け入れられ、新しいネットワークプロセスが自動的に作成されます。process-sentinelElispコードは、新しい接続が発生したときに関数が呼び出されるため、新しい接続が発生したときに設定できます。

クライアントとの通信は、クライアント接続が受け入れられたときに作成されたネットワークプロセスを介して行われます。このプロセスは、他のプロセスと同じように使用されます。つまり、、、..を介して使用されprocess-filterますprocess-send-string

server.elかなり単純な例として、コード(C-h f server-start適切なエントリポイントになるはずです)を見ることができます。

于 2012-12-16T22:46:57.210 に答える