尝试连接到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