【发布时间】:2015-10-14 00:52:02
【问题描述】:
我正在使用elixir-socket 库。我希望能够连接到在同一 erlang/elixir 环境中运行的测试服务器,以便测试发送的消息。当我尝试使用 elixir 套接字连接到 localhost 时,出现不存在的域错误。
作为一个例子,我有一个测试,它只打印网络服务器接收到的消息来说明这一点。
defmodule MyTest do
use ExUnit.Case
test "socket" do
port = 9999
SingleServer.start_link(port)
:timer.sleep(2_000)
socket = Socket.Web.connect! "0.0.0.0:#{port}"
socket |> Socket.Web.send! { :text, "test" }
:timer.sleep(2_000)
end
end
defmodule SingleServer do
def start_link(port) do
spawn_link __MODULE__, :init, [port]
end
def init(port) do
server = Socket.Web.listen! port
client = server |> Socket.Web.accept!
client = server |> Socket.Web.accept!
client |> Socket.Web.recv! |> IO.inspect
end
end
【问题讨论】: