3

gen_tcp OTP モジュールを使用して、Elixir で次の TCP サーバーを作成しました。

defmodule Test do
  def server() do
    {:ok, listen_sock} = :gen_tcp.listen(43594, [{:active, true}, :binary])
    {:ok, accept_sock} = :gen_tcp.accept(listen_sock)
    spawn(fn() -> poll(accept_sock) end)
  end

  defp poll(sock) do
    case :gen_tcp.recv(sock, 0, 20) do
      {:ok, data} ->
          IO.puts "#{data}"
          poll(sock)
      {:error, :closed} -> :ok
    end
  end
end

Test.server

telnet を使用してサーバーに接続するとすぐに切断されます。何が起こっているかについて何か考えはありますか?

4

1 に答える 1