免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1255 | 回复: 1
打印 上一主题 下一主题

[其他] 简易web server [复制链接]

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-08 15:55 |只看该作者 |倒序浏览
  1. -module(my_web_server).
  2. -export([start/0]).

  3. start() ->
  4.     spawn(fun () -> {ok, Sock} = gen_tcp:listen(80, [{active, true}]),
  5.                     loop(Sock) end).

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

  11. handle(Conn) ->
  12.     gen_tcp:send(Conn, response(os:cmd("dir"))).

  13. response(Str) ->
  14.     B = iolist_to_binary(Str),
  15.     iolist_to_binary(
  16.       io_lib:fwrite(
  17.          "HTTP/1.0 200 OK
  18. Content-Type: text/html
  19. Content-Length: ~p\n\n~s",
  20.          [size(B), B])).
复制代码

论坛徽章:
0
2 [报告]
发表于 2014-09-08 17:25 |只看该作者
不错,这个好像是 erlang程序设计上面的例子吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP