<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>There are three ways to receive data using
gen_tcp, depending on which mode you’ve selected. The gen_tcp:recv may be
used only if your socket has been opened with additional option flag {active,
false} – which means that you do not want to receive unsolicited traffic.
, thus, just change your line from:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>    case gen_tcp:connect("127.0.0.1", Port,
[list,{packet,0}]) of<br>
<br>
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>to <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>case gen_tcp:connect("127.0.0.1", Port, [list,{packet,0},
{active, false}]) of<br>
<br>
</span></font><font size=2 color=navy face=Arial><span style='font-size:10.0pt;
font-family:Arial;color:navy'><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>and the code should work.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>The error message is a bit misleading, but
if you call gen_tcp:recv on a socket that does not contain {active, fase},
gen_tcp:recv shall return {error,einval}, which will in turn cause function_clause
error message.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>V.<o:p></o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
erlang-questions-bounces@erlang.org
[mailto:erlang-questions-bounces@erlang.org] <b><span style='font-weight:bold'>On
Behalf Of </span></b>Shelby Ramsey<br>
<b><span style='font-weight:bold'>Sent:</span></b> 06 March 2009 04:22 AM<br>
<b><span style='font-weight:bold'>To:</span></b> erlang-questions@erlang.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> [erlang-questions] Noob
Question ...</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Hello! <br>
<br>
I'm trying to become an erlang convert (from Python) and I do mostly network
programming.<br>
<br>
So I wrote up this little tidbit:<br>
<br>
-module(test).<br>
-export([client/1]).<br>
<br>
client([Port]) -><br>
    case gen_tcp:connect("127.0.0.1", Port,
[list,{packet,0}]) of<br>
        {ok, Socket} -><br>
           
gen_tcp:send(Socket,"auth iltd!dy69?\r\n\r\n"),<br>
           
gen_tcp:send(Socket,"event plain text\r\n\r\n"),<br>
           
loop(Socket);<br>
        {error, Reason} -><br>
           
print_stuff([Reason]),<br>
            ok<br>
    end.<br>
<br>
loop(Socket) -><br>
    case gen_tcp:recv(Socket, 0) of<br>
        {ok, Data} -><br>
           
print_stuff([Data]),<br>
           
loop(Socket);<br>
        {error, closed} -><br>
            ok<br>
    end.<br>
<br>
print_stuff([Text]) -><br>
    io:format("~w", [Text]).<br>
<br>
It compiles ... but when I run ... well ... it spits this:<br>
<br>
=ERROR REPORT==== 5-Mar-2009::20:19:27 ===<br>
Error in process <0.30.0> with exit value:
{function_clause,[{test,client,[8021]},{erl_eval,do_apply,5},{shell,exprs,6},{shell,eval_loop,3}]}<br>
<br>
** exited: {function_clause,[{test,client,[8021]},<br>
                            
{erl_eval,do_apply,5},<br>
                            
{shell,exprs,6},<br>
                            
{shell,eval_loop,3}]} **<br>
<br>
<br>
So what did I hose up?  And more importantly ... where is some
documentation re: how to debug the "error report".<br>
<br>
Thanks for any assistance!<br>
<br>
SDR<o:p></o:p></span></font></p>

</div>

</body>

</html>