<br><br><div class="gmail_quote">2009/4/27 Jarrod Roberson <span dir="ltr"><<a href="mailto:jarrod@vertigrated.com">jarrod@vertigrated.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote">2009/4/27 Oscar Hellström <span dir="ltr"><<a href="mailto:oscar@erlang-consulting.com" target="_blank">oscar@erlang-consulting.com</a>></span><div class="im"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi Jarrod,<br>
<br>
I guess what you're looking for is the packet option for sockets. In<br>
case you're using a TCP socket you can either open your listen socket<br>
with the option {packet, line}, gen_tcp:listen(Port, [{packet, line}]),<br>
or you can set it to line based parsing later by issuing<br>
inet:setopts(Socket, [{packet, line}]). In case of UDP you need to open<br>
the socket with gen_upd:open(Port, [{packet, line}]). inet:setopts/2<br>
will also work for a UDP socket.<br>
<div><div></div><div><br></div></div></blockquote></div><div><br>thanks, but I still seem to be missing something.<br>I still can't get it to print out anything when I connect and send data to my server.<br>I think something is wrong in my get_line/1 function.<br>

<br>Here is my code so far.<br><br>-module(linereceiver).<br><br>-export([start/0]).<br>-import(lists, [reverse/1]).<br><br>sleep(T) -><br>    receive<br>       after T -><br>           true<br>    end.<br><br>start() -><br>

    spawn(fun() -><br>            start_parallel_server(3000),<br>            sleep(infinity)<br>          end).<br><br>start_parallel_server(Port) -><br>    {ok, Listen} = gen_tcp:listen(Port, [binary, {packet,line},<br>

                                         {reuseaddr, true},<br>                                         {active, true}]),<br>    spawn(fun() -> par_connect(Listen)end).<br><br>par_connect(Listen) -><br>    {ok, Socket} = gen_tcp:accept(Listen),<br>

    spawn(fun() -> par_connect(Listen) end),<br>    inet:setopts(Socket, [{packet, line}, binary, {nodelay, true}, {active, true}]),<br>    io:format("Connection Made!~n"),<br>    get_line(Socket).<br><br>get_line(Socket) -><br>

    receive<br>        {tcp, Socket, Bin} -><br>            io:format("Received Line:~p~n", binary_to_list(Bin)),<br>            get_line(Socket);<br>        {tcp_closed, Socket} -><br>            io:format("Connection Closed!~n")<br>

    end. <br></div></div><br>
</blockquote></div><br>also I don't get any output when connections are closed / disconnected by the client.<br>