summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-10-23 21:40:47 +0200
committerDimitri Sokolyuk <demon@dim13.org>2015-10-23 21:40:47 +0200
commit17eef2eb3ec1fffa51e8395af6b87bfc04e09c4c (patch)
tree387e28cb8e7d0a9a42fe26b50e9eded4261ff0f1
parent46dde63ac0d391cc8dc54933fac99275837f171d (diff)
Timeout
-rw-r--r--tda.erl23
1 files changed, 16 insertions, 7 deletions
diff --git a/tda.erl b/tda.erl
index 06bbc62..3bc67ca 100644
--- a/tda.erl
+++ b/tda.erl
@@ -4,7 +4,7 @@
-export([release_request/0, release_result/1]).
-export([associate_abort/1]).
-export([system_status/0, system_status/1]).
--export([client/0, stop/1, loop/1]).
+-export([client/0, stop/1, loop/1, start_client/0]).
-include("acse.hrl").
-include("rose.hrl").
@@ -65,24 +65,33 @@ system_status() ->
{error, Reason} -> Reason
end.
+start_client() ->
+ register(cl, spawn(?MODULE, client, [])).
+
client() ->
Host = "192.168.240.20",
- case gen_tcp:connect(Host, 33333, [{active, true}, {packet, 2}]) of
+ %Host = "localhost",
+ case gen_tcp:connect(Host, 33333, [binary, {active, true}, {packet, 2}]) of
{ok, Sock} ->
{ok, Hello} = associate_request(),
gen_tcp:send(Sock, [Hello]),
- spawn(?MODULE, loop, [Sock]);
+ loop(Sock);
{error, Reason} -> {error, Reason}
end.
stop(Sock) -> gen_tcp:close(Sock).
loop(Sock) ->
- io:format("loop~n"),
+ %inet:setopts(Sock, [{active, once}]),
+ io:format("loop ~p~n", [Sock]),
receive
- {tcp, S, Whatever} ->
- io:format(">>> ~p ~p ~n", [S, Whatever]),
+ {tcp, Sock, <<Whatever>>} ->
+ io:format(">>> ~p ~p ~n", [Sock, Whatever]),
loop(Sock);
- {tcp_closed, S} -> S
+ {tcp_closed, Sock} ->
+ io:format(">>> closed", []),
+ Sock
+ after 5000 ->
+ stop(Sock)
end,
io:format("loop end~n").