新しいクライアントが Web サーバーを使用するたびに YAWS で実行されているコードを知りたい...
最初に、YAWS が同時ユーザーを処理する方法を理解しようとしました...そして、次の .yaws ページを試してみました:
io:format("~nProcess Identifier: ~p Port: ~p Client: ~p YAWS pid: ~p ~n",[self(), A#arg.clisock, A#arg.client_ip_port, A#arg.pid]).
これは、各クライアントの Pid 、ポート、および ip を返す必要があります...同じブラウザー (Firefox) でこのページを開き、2 つの異なるタブを開きました... これは印刷されました。
Process Identifier: <0.65.0> Port: #Port<0.1211> Client: {{127,0,0,1},60451} YAWS pid: <0.65.0>
Process Identifier: <0.65.0> Port: #Port<0.1211> Client: {{127,0,0,1},60451} YAWS pid: <0.65.0>
何らかの理由で、同じポートと pid が返されています (したがって、YAWS は各クライアントに対して新しいポートまたは新しい pid を作成していません)。
Chrome でこれを試してみると、次のように出力されました。
Process Identifier: <0.71.0> Port: #Port<0.2998> Client: {{127,0,0,1},60543} YAWS pid: <0.71.0>
Process Identifier: <0.71.0> Port: #Port<0.2998> Client: {{127,0,0,1},60543} YAWS pid: <0.71.0>
したがって、YAWS が同じブラウザーの各タブに対して新しいポートまたは pid を開かないのはなぜですか? また、元の質問に戻りますが、YAWS はどこでどのコードを使用して新しい PID を生成したり、新しいポートを開いたりしますか?
ありがとう