Erlang TCP编程:聊天室

用Erlang写了一个聊天室的服务器Demo,感觉代码很是简洁。我用JAVA模拟了100个客户端,但是当我模拟5000个客户端时,就会得到链接异常:java.net.ConnectException: Connection refused: connect。
[b]服务器端代码:[/b]
[code="erlang"]
-module(chat_server).
-export([start_server/0, accept/1]).

start_server()->
    {ok, SocketListen} = gen_tcp:listen(9999, [binary, {active, false}]),
    ets:new(chatETS, [named_table, public]),
    ets:insert(chatETS, {socketList, []}),
    accept(SocketListen).

accept(SocketListen)->
    {ok, Socket} = gen_tcp:accept(SocketListen),
    [{socketList,SocketListETS}] = ets:lookup(chatETS, socketList),
    ets:insert(chatETS, {socketList, [Socket|SocketListETS]}),
    spawn(?MODULE, accept, [SocketListen]),
    process_req(Socket).

process_req(Socket)->
    case gen_tcp:recv(Socket, 0) of
        {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值