我有一个客户端创建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) 如何使用 gen_tcp 在 erlang 中发送 [Integer, String] 形式的消息。
例如:我希望使用 gen_tcp:send/2 通过套接字发送 [25, "Hello"] 或 [50, "Hi"] 形式的消息。
我尝试做[ID | Msg] 但这没有帮助。谢谢