こんにちは私はErlangの新しい蜂ですが、パッシブモードでクライアントを受け入れてメッセージを表示する単純なTCPサーバーを作成することができました。新しいクライアントがサーバーに接続するたびに、新しいプロセスを生成します。クライアントが接続したときに生成されるプロセスを使用して、クライアントにメッセージを送信する方法はありますか?
これがコードです。
-module(test).
-export([startserver/0]).
startserver()->
{ok, ListenSocket}=gen_tcp:listen(1235,[binary,{active, false}]),
connect(ListenSocket).
connect(ListenSocket)->
{ok, UserSocket}=gen_tcp:accept(ListenSocket),
Pid=spawn(? MODULE, user,[UserSocket]),
gen_tcp:controlling_process(UserSocket, Pid),
connect(ListenSocket).
user(UserSocket)->
case gen_tcp:recv(UserSocket, 0) of.
{ok, Binary}->% Send basic message.
{error, closed}->% operation on close.
end.
私がそうするようなものを私は持つことができますか?
Pid!{"Some Message"}
。そして、メッセージは、非ブロッキングioを使用してプロセスに関連付けられたソケットに送信されます。