[erlang-questions] Flash client communication with Erlang Server problem

Ryan Lepidi <>
Mon Jan 5 01:18:55 CET 2009


This is an erlang problem, it seems. I have this code to test the client
sending data, written in Actionscript 3:

Code:var socket:Socket=new Socket("localhost", 2345);
socket.addEventListener(Event.CONNECT, connected);

private function connected(event:Event):void {
    socket.writeInt(12); //packet length, should be correct? 4 bytes each?
    socket.writeInt(3);
    socket.writeInt(6);
    socket.writeInt(9);
    socket.flush();
}


Then I have this small server, written in Erlang:

Code:start_nano_server() ->
    {ok, Listen} = gen_tcp:listen(2345, [binary, {packet, 0},
                                 {reuseaddr, true},
                                 {active, true},
                                {packet_size, 128}]),
    {ok, Socket} = gen_tcp:accept(Listen),
    gen_tcp:close(Listen),
    receive_data(Socket, []).

receive_data(Socket, SoFar) ->
    receive
    {tcp,Socket,Bin} ->
        receive_data(Socket, [Bin|SoFar]);
    {tcp_closed,Socket} ->
        Bytes=list_to_binary(reverse(SoFar)),
        io:format("~p~n",[Bytes])
    end.


Now, no matter what I send from the client, I ALWAYS get
[<<0,0,0,4,0,0,0,32>>] as the response. I can try writing bytes to the
socket directly instead of ints, and I get the same thing. I can write more
or less data, same result. UTF strings same result. Even when specifying "4"
as the packet header length, I just get the same consistant result of
[<<0,0,0,32>>] instead. I don't understand what I'm doing wrong here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090104/81afa6c4/attachment.html>


More information about the erlang-questions mailing list