1. 在线聊天室
本示例通过两种形式展示了如何实现一个在线聊天室应用:
- 使用长轮询模式。
 - 使用 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 文件