嘗試連接到TCP服務器,發送命令並獲得響應。連接到TCP客戶端Elixir
我有這樣的事情在Ruby中
TCPSocket.open("127.0.0.1", 3344)
s.send(JSON.dump({"id" => 1, "method" => "Responder.Status", "params" => [""]}),0)
任何指針的任何文件/庫,將使實現藥劑類似的東西(或更強大的)?
嘗試連接到TCP服務器,發送命令並獲得響應。連接到TCP客戶端Elixir
我有這樣的事情在Ruby中
TCPSocket.open("127.0.0.1", 3344)
s.send(JSON.dump({"id" => 1, "method" => "Responder.Status", "params" => [""]}),0)
任何指針的任何文件/庫,將使實現藥劑類似的東西(或更強大的)?
對於TCP連接,Erlang的標準庫gen_tcp可以使用:
{:ok, socket} = :gen_tcp.connect('localhost', 6379, [:binary])
data = {"id" => 1, "method" => "Responder.Status", "params" => [""]}
:ok = :gen_tcp.send(socket, Poison.encode!(data))
:ok = :gen_tcp.close(socket)
謝謝。更新我的問題。我將如何實現這樣的目標。嘗試Poison.encode,但得到了一個錯誤...#: – user1232968
'gen_tcp.send(socket,Poison.encode(%{id:1,method:「Responder.Status」})|> elem(1))'應該工作。 –
或者就像回覆的OP建議使用Poison.encode! – ash
http://erlang.org/doc/man/gen_tcp.html http://elixir-lang.org/getting-已啓動/ mix-otp/task-and-gen-tcp.html – Dogbert
感謝@Dogbert,請更新我的問題。任何幫助我如何實現這一目標? – user1232968