如何使用纯erlang编写一个简单的hello-world Web服务器

时间:2017-04-20 18:39:20

标签: erlang

使用纯Erlang什么是最简单的Web服务器实现,显示" hello-world" HTML页面?

2 个答案:

答案 0 :(得分:6)

erlang中有575个字符长web server

$ cat hgolf.erl

main(_)->{ok,L}=gen_tcp:listen(36895,[]),s(L).
s(L)->{ok,S}=gen_tcp:accept(L),receive{tcp,S,"GET "++R}->[F|_]=string:tokens("/var/www"++R," "),case case file:read_file_info(F)of{ok,{_,_,regular,read,_,_,_,_,_,_,_,_,_,_}}->a;{ok,_}->"500 Server Error";_->"404 File Not Found"end of a->h(S,"200 OK\r\nContent-Type: "++case lists:reverse(F)of"lmth."++_->"text/html";"txt."++_->"text/plain";_->"application/octet-stream"end,[]),file:sendfile(F,S);E->h(S,E,E)end;_->E="405 Not Supported",h(S,E,E)end,gen_tcp:close(S),s(L).
h(S,H,B)->gen_tcp:send(S,["HTTP/1.1 ",H,"\r\n\r\n",B]).

如何运行

$ escript hgolf.erl

但是,作为标准Erlang / OTP发行版的一部分,还有更多功能强大的Web服务器inets

答案 1 :(得分:0)

更简单的方法是使用Cowboy包,它们有很好的文档,第一个例子是Hello World!一。您可以在https://ninenines.eu/docs/en/cowboy/2.0/guide/getting_started/

上阅读