[erlang-questions] SCTP active == true bug?
Eranga Udesh
casper2000a@REDACTED
Sat Jun 9 18:30:09 CEST 2007
Hi,
I tried to make a SCTP server with {active, true} option flag and receive
Messages to the controlling process without the need to run gen_sctp:recv/1.
The modified server is as below in this email. However there are no messages
coming to the 'receive' block in server_loop, when sent from a SCTP client.
The original sample in the SCTP manual works fine (other than some syntax
errors).
What could be the error?
Also I found that kernel/include/inet_sctp.hrl is not getting installed when
installing Erlang.
Thanks,
- Eranga
-module(sctp_server).
-export([server/0,server/1]).
-include_lib("kernel/include/inet.hrl").
-include_lib("kernel/include/inet_sctp.hrl").
server() ->
spawn(?MODULE, server, [[{127,0,0,1}, 1200]]).
server([Host,Port]) when is_list(Host), is_list(Port) ->
{ok, #hostent{h_addr_list = [IP|_]}} = inet:gethostbyname(Host),
io:format("~w -> ~w~n", [Host, IP]),
server([IP, list_to_integer(Port)]);
server([IP, Port]) when is_tuple(IP) orelse IP == any orelse IP == loopback,
is_integer(Port) ->
{ok,S} =
gen_sctp:open([{active,true},{ip,IP},{port,Port},{recbuf,65536}]),
io:format("Listening on ~w:~w. ~w~n", [IP,Port,S]),
ok = gen_sctp:listen(S, true),
server_loop(S).
server_loop(S) ->
receive
{error, Error} ->
io:format("SCTP RECV ERROR: ~p~n", [Error]);
Data ->
io:format("Data: ~p~n", [Data]),
server_loop(S)
end.
More information about the erlang-questions
mailing list