gpt4 book ai didi

erlang - 如何用Erlang编写一个简单的Web服务器?

转载 作者:行者123 更新时间:2023-12-03 08:51:39 28 4
gpt4 key购买 nike

使用默认的Erlang安装,生成“Hello world”生产Web服务器所需的最少代码是什么?

最佳答案

从字面上理解“产生”,这是一个很小的东西。它甚至不读取请求(但是会在每个请求上派生,因此它的可能性不小)。

-module(hello).
-export([start/1]).

start(Port) ->
spawn(fun () -> {ok, Sock} = gen_tcp:listen(Port, [{active, false}]),
loop(Sock) end).

loop(Sock) ->
{ok, Conn} = gen_tcp:accept(Sock),
Handler = spawn(fun () -> handle(Conn) end),
gen_tcp:controlling_process(Conn, Handler),
loop(Sock).

handle(Conn) ->
gen_tcp:send(Conn, response("Hello World")),
gen_tcp:close(Conn).

response(Str) ->
B = iolist_to_binary(Str),
iolist_to_binary(
io_lib:fwrite(
"HTTP/1.0 200 OK\nContent-Type: text/html\nContent-Length: ~p\n\n~s",
[size(B), B])).

关于erlang - 如何用Erlang编写一个简单的Web服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206933/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com