小编lis*_*ten的帖子

gen_tcp:recv/2返回错误,einval

我有一个客户端创建N个进程,所有连接到服务器,如下所示:

 send(State = #state{low = Low, high = Low}) ->
 NewState = receive_sockets(0, Low, State),
 NewState;
 send(State = #state{low = Low}) ->
   N = Low rem 10,
   Dest = lists:nth(N + 1, State#state.dest),
   spawn(?MODULE, loop, [self(), Dest, Low]),
   NewState = State#state{low = Low + 1},
   send(NewState).

 loop(From, {IP, Port}, Low) ->
   case gen_tcp:connect(IP, Port, [binary]) of
    {ok, Socket} ->
    gen_tcp:send(Socket, integer_to_binary(Low)),
    From ! {Low, Socket},
    loop1(Socket);
    %%timer:sleep(infinity);
   _Else ->
    io:format("The connection failed ~n"),
    loop(From, {IP, Port}, Low)
   end.

 loop1(Socket) -> …
Run Code Online (Sandbox Code Playgroud)

sockets erlang tcp erlang-otp gen-tcp

2
推荐指数
1
解决办法
1928
查看次数

使用 gen_tcp:send/2 通过套接字发送消息

如何使用 gen_tcp 在 erlang 中发送 [Integer, String] 形式的消息。

例如:我希望使用 gen_tcp:send/2 通过套接字发送 [25, "Hello"] 或 [50, "Hi"] 形式的消息。

我尝试做[ID | Msg] 但这没有帮助。谢谢

erlang tcp erlang-otp gen-tcp

1
推荐指数
1
解决办法
761
查看次数

标签 统计

erlang ×2

erlang-otp ×2

gen-tcp ×2

tcp ×2

sockets ×1