用mongols轻松打造websocket应用
2018-07-25 13:19:41来源:博客园 阅读 ()
用websocket做聊天系统是非常合适的。
mongols是一个运行于linux系统之上的开源c++库,可轻松开启一个websocket服务器。
首先,build一个websocket服务器。
#include <mongols/ws_server.hpp> //websocket server int main(int,char**){ int port=9090; const char* host="127.0.0.1"; mongols::ws_server server(host,port); server.run(); }
才几行,这就成了吗?没错!不信你用wsdump.py测试下。测了啊,怎么一发送消息就关闭了连接?这是因为该服务器只接受json字符串消息,并且规定了几个必要field.否则只能接收消息,一发送就将关闭连接:
- gid,默认0
- uid,默认0
- gfilter,默认空数组[],表示转发给任意gid用户,非空则只发送给特定gid用户
- ufilter,默认空数组[],表示转发给任意uid用户,非空则只发送给特定uid用户
其他field为开发者自己决定。
因此,开发者只需在前端用javascript即可完成所有核心开发工作。
这里有演示地址和全部开源代码,包括前端和后端:
https://github.com/webcpp/fusheng
集成富文本编辑器quill,可发图片,代码,latex数学公式,纯文本当然没问题啦。
需要知道如何自定义图片上传的quill开发者,也可了解下。很简单的:
var quill = new Quill('#editor-container', { modules: { formula: true, syntax: true, toolbar: '#toolbar-container' }, placeholder: 'To be a good man! The best brower is Chrome.', theme: 'snow', }); var toolbar = quill.getModule('toolbar'); toolbar.addHandler('image', function (e) { document.getElementById('get_file').click(); }); $('#get_file').change(function () { var upload_form = $('#upload_form'); var options = { url: '/upload', type: 'post', success: function (ret) { if (ret.err == 0) { var range = quill.getSelection(); quill.insertEmbed(range.index, 'image', ret.upload_path); $('#get_file').val(''); } else { toast.show({ // 'error', 'warning', 'success' // 'white', 'blue' type: 'error', // toast message text: 'upload error', // default: 3000 time: 3000 // 5 seconds }); } }, error: function () { toast.show({ type: 'error', text: 'upload error or too big.', time: 3000 }); } } upload_form.ajaxSubmit(options); });
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小 2019-08-14
- 《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的 2019-08-14
- 【开源我写的富文本】打造全网最劲富文本系列之大话技术难点 2019-05-22
- 【开源我写的富文本】打造全网最劲富文本系列之技术选型 2019-05-13
- Vue数据驱动表单渲染,轻松搞定form表单 2018-12-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash