From 17eef2eb3ec1fffa51e8395af6b87bfc04e09c4c Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 23 Oct 2015 21:40:47 +0200 Subject: Timeout --- tda.erl | 23 ++++++++++++++++------- 1 file 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, <>} -> + 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"). -- cgit v1.2.3