DDR爱好者之家 Design By 杰米
转贴一个简单的Web服务器:
httpd.erl
%% httpd.erl - MicroHttpd -module(httpd). -author("ninhenry@gmail.com"). -export([start/0,start/1,start/2,process/2]). -import(regexp,[split/2]). -define(defPort,8888). -define(docRoot,"public"). start() -> start("[ \r\n]"), FileName = DocRoot ++ Name, LogReq = Cmd ++ " " ++ Name ++ " " ++ Vers, Resp = case file:read_file(FileName) of {ok, Data} -> io:format("~p ~p ok~n",[LogReq,FileName]), Data; {error, Reason} -> io:format("~p ~p failed ~p~n",[LogReq,FileName,Reason]), error_response(LogReq,file:format_error(Reason)) end, do_send(Sock,Resp), gen_tcp:close(Sock). %% construct HTML for failure message error_response(LogReq,Reason) -> "<html><head><title>Request Failed</title></head><body>\n" ++ "<h1>Request Failed</h1>\n" ++ "Your request to " ++ LogReq ++ " failed due to: " ++ Reason ++ "\n</body></html>\n". %% send a line of text to the socket do_send(Sock,Msg) -> case gen_tcp:send(Sock, Msg) of ok -> ok; {error, Reason} -> exit(Reason) end. %% receive data from the socket do_recv(Sock) -> case gen_tcp:recv(Sock, 0) of {ok, Bin} -> binary_to_list(Bin); {error, closed} -> exit(closed); {error, Reason} -> exit(Reason) end
运行时在httpd.erl本地建一个public目录,public目录里放一个index.html文件
然后httpd:start()启动服务器,就可以访问http://localhost:8888/index.html了
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年04月24日
2024年04月24日
- 汪峰 许巍《巍峰凛凛·实力比拼》3CD[WAV分轨][2.2G]
- dnf白字红字黄字是什么意思
- dnf石化鞋怎么搭配
- dnf神之真谛称号属性
- 《天国拯救2》游戏特色介绍
- 《无感染区》开局建家探索心得
- 《圣剑传说Visions of Mana》灵器作用介绍
- 吴克群2023-今天很OK[何乐音乐][WAV+CUE]
- 邱兰芬.2002-台湾红歌100年·台语精选辑CD19【乡城】【WAV+CUE】
- 满江.1998-多变的海【SONY】【WAV+CUE】
- 赞达亚宣传R级新片《挑战者》 粉色裙装秀出纤细蛮腰
- 《老头环》经常被玩家跳过的BOSS:多个双人组上榜
- B社辐射3开发者曾遭死亡威胁:对方扬言割断其喉咙
- 原画壁纸及美图第117期,无水印可自取
- 原画壁纸及美图第118期,无水印可自取