flamingoIM 是一款高性能、轻量级的即时通讯软件。 目前即时通讯软件实现了如下功能(这里只列举网络相关的功能,其他客户端已经实现的功能不统计在列,请自行发现): 注册 登录 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近会话 单人聊天功能(包括发文字、表情、窗口抖动、离线文件) 群组功能(包括发文字、表情) 群发消息 修改密码 修改个人信息(自定义昵称、签名、个性头像等个人信息) 自动升级功能 客户端还有很多细节功能,比如头像有三种显示模式、好友上线动画、聊天记录、聊天自动回复功能等,有兴趣的同学可以自己探索尝试一下吧,这里就不截图了。 下面介绍一下服务器代码和pc客户端代码的编译与运行环境: flamingo服务器端代码使用cmake + makefile编译,使用了纯C++11开发,运行于linux系统下(我的系统是CentOS7.0),为了支持C++11,你的gcc版本至少要大于4.7,我的版本是4.8.5。另外,使用了数据库,我的数据库版本是5.7.17。服务器代码不仅是一款即时通讯软件的服务器代码,同时也是一款通用的C++11服务器框架。 服务器代码使用方法: 进入程序目录,输入cmake . (注意有一个点号,表示当前目录) 没有错误,输入make 3.最终会产生三个可执行程序,mychatserver、myfilesever和myimgserver。编译完成 部署方法: 简单说明:mysql数据库的用户名为root,密码为空,请根据你自己的需要设置相应的用户名和密码(目前写死在程序中)。mychatserver是聊天服务器,myfileserver是文件服务器,文件服务器负责上传和下载聊天中发送的文件,myimgserver负责上传和下载聊天中的图片。三个服务相互独立,互不影响。聊天服务器监听端口是20000,文件服务器端口是20001,图片服务器端口号是20002,这三个端口供客户端连接,其中聊天端口和客户端是长连接,文件端口和图片可选择长连接或短连接。 第一次运行mychatserver时,如果能顺利连上mysql,mychatserver会自动检测是否存在名为myim的数据库,如果不存在则创建,并新建三张信息表,分别是用户信息表:t_user, 好友关系表t_user_relationship和聊天消息记录表t_chatmsg。第一次启动文件服务器时会创建filecache目录,这个目录用来存储聊天中的聊天图片和离线文件以及客户端升级包。 为了方便查看代码,我用Visual Studio来管理代码,可使用VS打开myserver.sln查看和管理代码。(VS版本必须是VS2013或以上版本) 客户端代码使用方法: 编译: 1.用VS2013打开程序目录下的:Flamingo.sln,你可以使用其他的VS版本,但是至少不低于VS2013,因为客户端代码也使用了大量C++11语法和库,VS2013及以上版本才能较好的支持C++11的语法。 打开的解决方案包括三个项目:Flamingo是即时通讯主程序,CatchScreen是聊天中使用的截图工具,iUpdateAuto是升级功能中用到的解压工具。 用VS2013编译整个解决方法即可,编译成功以后将在Bin目录下生成对应的程序。启动Flamingo.exe注册一个账号就可以开始使用flamingo了。 如果你暂时不想研究服务器代码,但又想使用客户端,你可以连接我的测试服务器,测试服务器地址是: 聊天服务器地址:120.55.94.78 端口号:20000 文件服务器地址:120.55.94.78 端口号:20001 图片服务器地址:120.55.94.78 端口号:20002 你可以在登录界面的网络设置里面进行设置(登录界面右上角最小化按钮左边的一个按钮)。 详情参见: http://blog.csdn.net/analogous_love/article/details/69481542
最近更新: 2天前🔥 比libevent/libuv/asio更易用的国产网络库,用来开发 TCP/UDP/SSL/HTTP/WebSocket/MQTT 客户端/服务端
最近更新: 20天前体育场馆预约小程序:用户提供便捷的预约平台,方便他们查询场馆信息、选择合适时间并进行预约;主要功能包括,展示不同类型和位置的场馆,选择日期和时间,完成场馆预约,用户查看历史订单和预约状态等 用户角色:查看场馆信息、预约场馆、查看预约记录,出示核销码等 管理员角色:管理场馆信息、查看所有预约记录、核销预约、管理用户等 预约管理:开始/截止日期人数均可灵活设置 预约凭证:支持线下到
最近更新: 1个月前会议室预定小程序,解决空闲会议室难找,日程时间难协调等企业开会痛点,提升会议效率降低组织成本。可以查询某个时间段的空闲会议室,查询某个会议室的空闲时间段;会议室状态一目了然,完美解决会议时间冲突和空间浪费问题。前后端完整代码,包括选择会议室,修改会议日期、时间,以及备注进行会议创建。预约成功后,可以查看会议详情。后台功能包括:会议室创建,预定记录查询,生成单个会议室小程序码海报,发布公告,用户注册
最近更新: 2个月前心理咨询预约小程序:通过小程序,用户可以随时随地进行心理咨询预约,无需前往实体机构或打电话预约,节省了时间和精力。可以提供匿名预约和咨询的选项,用户可以更加放心地分享自己的问题和困扰,不用担心被他人知晓。 小程序通常会提供多个心理咨询师的信息和背景介绍,用户可以根据自己的需求和偏好选择合适的咨询师,提高咨询的效果。小程序可以提供心理咨询师的资质认证和专业背景等信息,用户可以更加全面地了解咨询师的能
最近更新: 2个月前校园物业报修小程序是一种便捷的工具,可以帮助学校管理报修请求和维护校园设施。其包括管理员,维修工作人员,用户三端,分别有各自独立的系统界面和功能;报修工单提交:学生、教职员工和等可以使用小程序提交报修请求。这通常包括选择报修的问题类型(如水漏、电器故障、照明问题等),地点,报修联系人,联系电话等,并提供详细的问题描述,并可以上传相关问题的照片,以便维修人员更好地理解问题的严重程度和性质
最近更新: 2个月前招生报名缴费小程序:方便用户能够方便地完成报名和缴费流程,适用于幼儿园招生,各种培训机构招生,技校职业招生,成教自考招生,夏令营游学招生,考研考公考编培训班招生,特长班招生,公益培训招生等场景,其主要功能模块有:招生信息浏览,在线报名,在线缴费,报名审核与进度跟踪,后台统计,后台导出报名表格等
最近更新: 2个月前公益培训报名小程序,提供给文化馆,图书馆,文体中心,青少年活动中心,少年宫等社会公益机构进行公益培训活动报名登记的小工具,前后端代码完整,主要功能包括公告通知,课堂风采,报名列表,报名登记
最近更新: 2个月前