codecamp

beego在线聊天室

本示例通过两种形式展示了如何实现一个在线聊天室应用:

  • 使用长轮询模式。
  • 使用 WebSocket 模式。

以上两种模式均默认将数据存储在内存中,因此每次启动都会被重置。但您也可以通过修改 conf/app.conf 中的设置来启用数据库。

以下为项目组织大纲:

WebIM/
    WebIM.go            # main 包的文件
    conf
        app.conf        # 配置文件
    controllers
        app.go            # 供用户选择技术和用户名的欢迎页面
        chatroom.go        # 数据管理相关的函数
        longpolling.go    # 长轮询模式的控制器和方法
        websocket.go    # WebSocket 模式的控制器和方法
    models
        archive.go        # 操作数据相关的函数
    views
        ...                # 模板文件
    static
        ...                # JavaScript 和 CSS 文件

到 GitHub 上浏览代码


beego第三方库
beego短域名服务
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

beego实用库

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }