aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/test/socket_client.erl
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2018-06-28 21:57:03 +0200
committerMicael Karlberg <[email protected]>2018-09-18 14:50:18 +0200
commitb09136301525b0717e897ec0864c3d2ea7708758 (patch)
treeab233bd30a8d903e391b2f5f76e832a2ec49390f /lib/kernel/test/socket_client.erl
parent9b45f4dd2cc8862a183941bb4925223bcec35987 (diff)
downloadotp-b09136301525b0717e897ec0864c3d2ea7708758.tar.gz
otp-b09136301525b0717e897ec0864c3d2ea7708758.tar.bz2
otp-b09136301525b0717e897ec0864c3d2ea7708758.zip
[socket-nit-test] Added some more test code
Added some more features o the simple socket test server and client. OTP-14831
Diffstat (limited to 'lib/kernel/test/socket_client.erl')
-rw-r--r--lib/kernel/test/socket_client.erl23
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/kernel/test/socket_client.erl b/lib/kernel/test/socket_client.erl
index 6d74d19442..13e87f4109 100644
--- a/lib/kernel/test/socket_client.erl
+++ b/lib/kernel/test/socket_client.erl
@@ -6,7 +6,7 @@
%%% @end
%%% Created : 27 Jun 2018 by Micael Karlberg <[email protected]>
%%%-------------------------------------------------------------------
--module(client).
+-module(socket_client).
-export([start/1]).
@@ -62,6 +62,7 @@ connect(Sock, Domain, Port) ->
case socket:connect(Sock, SA) of
ok ->
i("connected"),
+ send_loop(Sock),
ok;
{error, Reason} ->
e("connect failure: "
@@ -70,6 +71,26 @@ connect(Sock, Domain, Port) ->
end.
+send_loop(Sock) ->
+ send_loop(Sock, 1).
+
+send_loop(Sock, N) ->
+ case socket:send(Sock, <<0:32, N:32, "hejsan">>) of
+ ok ->
+ case send:recv(Sock, 0) of
+ {ok, <<1:32, N:32, "hejsan">>} ->
+ send_loop(Sock, N+1);
+ {error, RReason} ->
+ e("Failed recv response for request ~w: "
+ "~n ~p", [RReason]),
+ exit({failed_recv, RReason})
+ end;
+ {error, SReason} ->
+ e("Failed send request ~w: "
+ "~n ~p", [SReason]),
+ exit({failed_send, SReason})
+ end.
+
which_addr(_Domain, []) ->
throw(no_address);
which_addr(Domain, [{Name, IFO}|_IFL]) when (Name =/= "lo") ->