版权声明:@潘广宇博客, 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").