这是一款简易聊天室实现.
目前提供了一个面向互联网的服务器. 该服务器使用多聊天室的使用方式:
- IP: 106.185.33.31
- PORT: 8000 (多聊天室方式入口)
- PORT: 8002 (单聊天室方式入口)
欢迎大家测试
Requirment
服务端
- 使用package安装simple-httpd
客户端
- 使用package安装htmlize
- 使用package安装popup
单一聊天室的使用方法
最简单的使用方式是启动一个webchat-server,让所有人都在同一个聊天室内交流.
启动server端
webchat-server.el为实现server端的代码,其支持以emacs script的方式直接调用. 方式为:
# 执行该文件,带一个端口参数,表示该服务监听哪个端口
emacs --script webchat-server.el 8000
若为windows环境,则可以执行以下命令
emacs.exe --script webchat-server.el 8000
启动client端
- 加载client端实现文件
(require 'webchat-client-push)
- 调用命令 M-x webchat-talk
- 在弹出的*webchat-talk* buffer中输入内容,并按C-RET发送内容. 聊天内容会显示在*webchat-content*中
多聊天室的使用方式
在webchat-server之上,封装了一层webchat-server-dispatcher,使得交流着可以根据不同的主题进入不同的聊天室.
启动server端
- 加载webchat-server-dispatcher.el或webchat-server-dispatcher-push.el
(require 'webchat-server-dispatcher)
- 调用命令M-x webchat-server-dispatcher,并输入监听端口
启动client端
- 加载client端实现文件
(require 'webchat-client-push)
- 调用命令 M-x webchat-client. 在选择channel时可以输入一个不存在的channel,webchat-server-dispatcher会自动分配新服务进程为该channel提供服务.
- 在弹出的*webchat-talk* buffer中输入内容,并按C-RET发送内容. 聊天内容会显示在*webchat-content*中
配置说明
webchat-client
可以通过
M-x customize-group <RET> webchat-client
来配置- `webchat-client-display-image’决定了是否显示聊天内容中图片链接所指向的图片图片链接需要用[[]]括住才会显示
- `webchat-client-content-buffer’决定了显示聊天内容的那个buffer的名称
- `webchat-client-talk-buffer’决定了输入聊天内容的那个buffer的名称
- `webchat-client-notification-by-sound’决定了当有新消息时,是否用声音通知
- `webchat-client-notification-sound-file’指定了收到消息时,通知的声音文件(wav,或au格式). 若为nil则直接调用beep函数通知
- `webchat-client-desktop-notification’指定了收到消息时,是否使用桌面通知功能.
Features
- [X] 可以在客户端自由添加channel
- [X] 高亮代码
- [X] 显示图片
- [X] 提供方法上传图片
- 当收到消息时,可以设置声音提醒
- 当收到消息时,若支持dbus,则可以启用桌面提醒功能
from https://github.com/lujun9972/el-webchat