Erlang 创建一个简单的UDP服务器

版权声明:@潘广宇博客, https://blog.csdn.net/panguangyuu/article/details/89217399

用Erlang创建一个简单的TCP服务器:https://blog.csdn.net/panguangyuu/article/details/89211209

一、创建 udpServer.erl

-module(udpServer).
-export([server/1]).

server(Port) ->
    {ok, Socket} = gen_udp:open(Port, [binary]),
    loop(Socket).

loop(Socket) ->
    receive
        {udp, Socket, Host, Port, Bin} ->
            BinReply = binary_to_list(Bin) ++ " hello",
            gen_udp:send(Socket, Host, Port, BinReply),
            loop(Socket)
    end.

二、创建 udpClient.erl

-module(udpClient).
-export([client/1]).

client(Request) -> 
    {ok, Socket} = gen_udp:open(0, [binary]),                 % 通过0端口与服务器相连
    ok = gen_udp:send(Socket, "localhost", 4000, Request), 
    Value = receive
                {udp, Socket, _, _, Bin} ->
                    binary_to_list(Bin)
            after 2000 ->
                error
            end,
    gen_udp:close(Socket),
    Value.

三、启动 Server

c(udpServer).
c(udpClient).

udpServer:server(4000).                % 4000端口监听来自客户端的udp请求

四、客户端调用

udpClient:client("hello").

猜你喜欢

转载自blog.csdn.net/panguangyuu/article/details/89217399