gtalk使用http trunck结合浏览器ajax实现了基于server push的技术,最近山寨了一把。
客户端: Firefox,使用XMLHttpRequest对象以及,xmlHttp.readyState == 3来接收
server的数据, (IE实现机制有点不一样,需要使用ActiveXObject("htmlfile")来实现),
服务器设计:
chat_session _rver:gen_server实现,主要考虑浏览器的重连,用于标识用户
chat_server: gen_server实现,控制创建聊天室以及加入聊天室
chat_rootm: 一个room一个进程
caht_user_proxy:代理用户加入聊天室进程
模板技术:erlydtl
mysql驱动: http://code.google.com/p/erlang-mysql-driver/(utf有点问题,没找到配置的地方)
mochiweb_socket_server.erl 对链接数有限制,默认是2048
在一台512内存,Intel(R) Pentium(R) 4 CPU 2.80GHz机器上,链接1万个客户端,性能不错。
分享到:
相关推荐
mochiweb实现的web服务器简单实例
用erlang语言写的,基于mochiweb的聊天室代码
erlang mochiweb-test demo .zip
MochiWeb 的最新版本可在MochiWeb 的邮件列表位于 设置 MochiWeb 环境需要 Erlang OTP,可在使用项目创建一个新的 mochiweb:make app PROJECT=project_name 要使用特定目录中的项目创建新的 mochiweb: make app ...
MochiWeb的邮件列表位于 R12B兼容性:MochiWeb的母版已通过R14A及更高版本进行了测试。 与R12B兼容的分支在单独维护。为方便起见,该存储库的R12B分支有时会在官方存储库中进行镜像。 要使用项目创建新的mochiweb,...
很棒的网络刮板 支持 令人敬畏的Web scaper,爬虫的集合。 Java ...开源Web爬虫,建立在nosql数据库(apacheouchdb,riak),AMQP数据库(rabbitmq),webmachine和mochiweb之上。 Python scrap
erlang web frame
RPSSL彗星 RPSSL-Rock-Paper-Scissors-Spock-Lizard是一款简单但着名的2人游戏。 通常,它是第一人称自己玩的,但这是网络版本。 Web版本使用,该是运行时间很长的HTTP请求,可用于将服务器立即...webserver:start("9
Webmachine 是一个应用层,为 mochiweb 提供 HTTP 语义的特性,定义一个简单而清晰的连接应用的方式。 标签:Webmachine Web框架
SimpleBridge用作两个最受欢迎的Erlang Web框架到Web服务器的桥梁: 和 从某种意义上讲,它类似于 ,除了具有一些关键的改进/不同之处: 轻松扩展-需要200到400行,以增加对新HTTP服务器的支持,包括网桥模块本身...
核心功能目的:高性能协议中继端点:WebSocket,MQTT,TCP 代码库:700 LOC(Erlang),500 LOC(JavaScript) 透析仪:REBAR,REBAR3,MAD,MIX 主机:COWBOY,EMQ,MOCHIWEB,RING,TCP,UDP协议扩展模板:DTL,...
Webmachine是一个应用程序层,它在mochiweb提供的出色的按位和HTTP语法管理的基础上增加了HTTP语义意识,并提供了一种简单明了的方式将其连接到应用程序的行为。 可获得更多信息。 您还可以阅读有关Webmachine的...
heroku-genfsmAn experimental Erlang app which deployed on HerokuSome Deploy Detail在 Heroku 上部署 Webmachine + Mochiweb + ErlyDTL 组合的 Erlang Web 应用
很棒的精选的Erlang框架,库和软件的精选列表。... 基于Erlang / OTP的分布式MQTT消息代理。... -Lisp风味Erlang(LFE) -Erlang Web MVC,现在具有Comet功能 -MochiWeb是用于构建轻量级HTTP服务器的Erlang库。