`
xinmingyao
  • 浏览: 20950 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

mochiweb 山寨 gtalk web聊天

阅读更多
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的聊天室

    **基于Mochiweb的聊天室** 在信息技术领域,构建实时通信系统,如聊天室,是常见的需求。这里我们探讨的是一个使用Erlang编程语言和Mochiweb框架实现的聊天室。Erlang是一种面向并发、分布式计算的语言,因其在处理...

    mochiweb实例

    这个实例将帮助我们理解Mochiweb是如何工作的,并如何使用它来构建一个简单的Web服务器。Erlang是一种并发性极强、容错性高的语言,特别适合构建分布式系统,而Mochiweb则是Erlang生态系统中的一个重要组件。 首先...

    erlang mochiweb-test demo

    这个 "erlang mochiweb-test demo" 压缩包很可能是为了展示如何使用 Mochiweb 在 Erlang 中构建一个简单的 Web 应用程序或测试环境。 Mochiweb 的核心组件包括以下几个部分: 1. **HTTP 服务器**:Mochiweb 提供了...

    mochiweb:MochiWeb 是一个用于构建轻量级 HTTP 服务器的 Erlang 库

    MochiWeb 的最新版本可在MochiWeb 的邮件列表位于 设置 MochiWeb 环境需要 Erlang OTP,可在使用项目创建一个新的 mochiweb:make app PROJECT=project_name 要使用特定目录中的项目创建新的 mochiweb: make app ...

    erlang web frame

    描述中的“erlang web frame”可能指的是Erlang生态系统中的多个Web框架,其中包括了Mochiweb和Cowboy这两个著名的名字。它们都是轻量级、高性能的HTTP服务器实现,常被用作构建Web应用的基础。 1. **Mochiweb**:...

    张琨:教育社交平台的web架构分享

    NoticeSystem则利用了mochiweb的高效通信特性,采用了Erlang编程语言。MQserver使用了RabbitMQ作为基础的异步消息队列服务,而FileStoreServer结合了Varnish和MongoDB来实现静态资源的存储。 具体服务与应用的设计...

    mochiweb:Mochi Media出色的HTTP库的一个分支-可以在https上找到其规范源

    MochiWeb的邮件列表位于 R12B兼容性:MochiWeb的母版已通过R14A及更高版本进行了测试。 与R12B兼容的分支在单独维护。为方便起见,该存储库的R12B分支有时会在官方存储库中进行镜像。 要使用项目创建新的mochiweb,...

    awesome-web-scraper:令人敬畏的Web scaper,爬虫的集合

    很棒的网络刮板 支持 令人敬畏的Web scaper,爬虫的集合。 Java ...开源Web爬虫,建立在nosql数据库(apacheouchdb,riak),AMQP数据库(rabbitmq),webmachine和mochiweb之上。 Python scrap

    SNS社区网站WEB即时通信技术解决方案

    - WebIM服务器使用Erlang的“mochiweb”实现,可以支持大量的并发长连接,从而确保系统的高可用性和扩展性。 - **消息接口设计**: - AJAX POST消息:用户通过POST方式向SNS主服务器发送消息。 - 主服务器处理并...

    web1

    - Erlang有许多Web开发框架,如Yaws、Mochiweb和Cowboy等。"web1"项目可能采用了其中一种,这些框架提供了HTTP服务器、路由处理和模板渲染等功能,帮助快速构建Web应用。 6. **数据持久化与数据库集成**: - ...

    Erlang实现的一个Web服务器代码实例

    Erlang 是一种面向并发和分布式系统的编程语言,特别适合构建高可靠性、容错性强的系统,如Web服务器。在上述代码中,我们看到的...在实际开发中,通常会使用像YAWS、Mochiweb或Cowboy这样的成熟Erlang Web服务器框架。

    JavaScript + Delphi + ErLang讲座内容(4)

    erlang + delphi demo with Web UI`可能是通过Web界面展示Erlang和Delphi的集成,这可能使用了Erlang的Web开发框架,如Yaws或Mochiweb,与Delphi后端进行交互。 - `12. erlang demo with hot update`可能展示了...

    erlang-rpssl-comet:使用Mochiweb和Comet技术的Erlang网页游戏-Rock-Paper-Scissors-Spock-Lizard

    RPSSL彗星 RPSSL-Rock-Paper-Scissors-Spock-Lizard是一款简单但着名的2人游戏。 通常,它是第一人称自己玩的,但这是网络版本。 Web版本使用,该是运行时间很长的HTTP请求,可用于将服务器立即...webserver:start("9

    erlang实战IP查询服务

    - Mochiweb: 一种轻量级的Erlang Web服务器,可通过SVN检出并放置于 `$ERL_LIB` 目录下自动加入至编译路径。 - GeoIP数据库: 通过脚本从MaxMind获取并解压,存储于`priv`目录下。 - egeoip: 从Google Code获取,...

    erlang websocket

    2. **Erlang实现Websocket**:在Erlang中,可以使用如`cowboy`或`mochiweb`这样的Web框架来处理Websocket连接。它们提供了方便的中间件,使得在Erlang进程中直接处理Websocket连接成为可能。例如,`cowboy`中的`...

    elli:简单,健壮和高性能的Erlang Web服务器

    elli相比其他Erlang Web服务器(如Yaws、Mochiweb、Cowboy)更专注于HTTP API服务,其设计更简洁,对于API开发更为友好。然而,不同的服务器在性能、功能和灵活性方面各有特点,选择哪一款取决于具体项目需求。 总...

    Webmachine.zip

    Webmachine 是一个应用层,为 mochiweb 提供 HTTP 语义的特性,定义一个简单而清晰的连接应用的方式。 标签:Webmachine Web框架

    simple_bridge:一个简单,标准化的Erlang HTTP服务器接口库

    SimpleBridge用作两个最受欢迎的Erlang Web框架到Web服务器的桥梁: 和 从某种意义上讲,它类似于 ,除了具有一些关键的改进/不同之处: 轻松扩展-需要200到400行,以增加对新HTTP服务器的支持,包括网桥模块本身...

    n2o::hollow_red_circle:N2O:分布式应用程序服务器

    核心功能目的:高性能协议中继端点:WebSocket,MQTT,TCP 代码库:700 LOC(Erlang),500 LOC(JavaScript) 透析仪:REBAR,REBAR3,MAD,MIX 主机:COWBOY,EMQ,MOCHIWEB,RING,TCP,UDP协议扩展模板:DTL,...

    webmachine:用于构建Web应用程序的基于REST的系统

    Webmachine是一个应用程序层,它在mochiweb提供的出色的按位和HTTP语法管理的基础上增加了HTTP语义意识,并提供了一种简单明了的方式将其连接到应用程序的行为。 可获得更多信息。 您还可以阅读有关Webmachine的...

Global site tag (gtag.js) - Google Analytics