TeamTalk
猫猫猫猫猫大人
工程师 -> 架构师 -> 全栈工程师 -> 全栈架构师
展开
-
即时通讯开发资料分享
即时通讯开发资料分享 [1] 网络编程基础资料:《TCP/IP详解 - 第11章·UDP:用户数据报协议》《TCP/IP详解 - 第17章·TCP:传输控制协议》《理论经典:TCP协议的3次握手与4次挥手过程详解》《计算机网络通讯协议关系图(中文珍藏版)》《NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等》《UDP中一个包的大小最大能多大?》《Java新原创 2016-12-27 11:38:13 · 1079 阅读 · 0 评论 -
TeamTalk源码分析之file_server
一、连接状况介绍fileserver开始并不是和客户端连接的,客户端是按需连接file_server的。但是file_server与msg_server却是长连接。先启动file_server,再启动msg_server。msg_server初始化的时候,会去尝试连接file_server的8601端口。连接成功以后,会给file_server发送一个发包询问file_server侦听转载 2017-07-16 00:26:14 · 1444 阅读 · 0 评论 -
TeamTalk源码分析之msfs
客户端以http的方式来上传和下载聊天图片。可能很多同学对http协议不是很熟悉,或者说一知半解。这里大致介绍一下http协议,http协议其实也是一种应用层协议,建立在tcp/ip层之上,其由包头和包体两部分组成(不一定要有包体),看个例子:比如当我们用浏览器请求一个网址http://www.hootina.org/index.PHP,实际是浏览器给特定的服务器发送如下数据包,包转载 2017-07-16 00:23:28 · 1407 阅读 · 0 评论 -
TeamTalk源码分析之db_proxy_server
DB_PROXY_Server数据库代理是TeamTalk TTServer中负责与数据库交互的代理服务器,在DB server中负责承载TeamTalk所有业务层面和逻辑层面的数据入库和持久化等服务,是TT_Server中比较重要的一环,在设计中采用了很多实用的技术,比如池化技术,数据库代理,单例模式等,收益匪浅,下面对TealTalk的DB_Server作个详细分析,以封面是自己阅读代码后的学转载 2017-01-18 11:03:15 · 1222 阅读 · 1 评论 -
TeamTalk安装部署手册
TeamTalk安装部署手册1.部署环境操作系统:CentOS 7 X64(由于gcc版本问题,官方推荐centos7),CPU:2核内存:1024M硬盘:8G虚拟机:VirtualBox4.3.28用户:root2.编译依赖环境###编译环境部署前须安装:gcc、gcc-c++、zip、unzip、wgetTeamTalk编译需要依原创 2017-01-04 10:07:37 · 6143 阅读 · 0 评论 -
TeamTalk源码分析之http_msg_server对外提供API
原文:www.bluefoxah.org/teamtalk/provide_api.html2、如何提供一个接口作为一个完整的平台,对外提供API是必不可少的,TT第二版跟第一版一个比较明显的变化,就是相比第一版多了一个http_msg_server这个模块,虽然这个模块暂时没有提供太多的功能,但是却也提供了一个参考。不过还是有很多朋友在群里咨询询问如果利用http_m转载 2017-01-18 11:54:32 · 2457 阅读 · 0 评论 -
TeamTalk数据库说明
IMAdmin功能后台管理员表建表语句CREATE TABLE `IMAdmin` ( `id` mediumint(6) unsigned NOT NULL AUTO_INCREMENT, `uname` varchar(40) NOT NULL COMMENT '用户名', `pwd` char(32) NOT NULL COMMENT '经过md5加转载 2017-01-18 11:40:17 · 2052 阅读 · 2 评论 -
TeamTalk服务端分析之服务端以及客户端流程
原文:www.bluefoxah.org/teamtalk/server_flow.html前言在上一篇中,简单的分析了下各个服务端的配置,在这一篇中,简单的分析下TeamTalk服务端的整个运作流程。服务端流程服务端的启动没有严格的先后流程,因为各端在启动后会去主动连接其所依赖的服务端。不过在此,如果是线上环境,还是建议按照如下的启动顺序去启动(也不是唯一的顺转载 2017-01-18 11:12:32 · 1796 阅读 · 0 评论 -
Teamalk在服务端新增协议
转自:www.bluefoxah.org/teamtalk/add_protocol.html1、如何增加一个协议很多人问我如何增加一个处理协议,我先大致讲下整个过程,在后面针对每一步进行详细的讲解,本次就以群里一个群友问得如何增加修改密码的协议为例。因为新版TT是基于PB处理的,所以,1、我们要在pb文件中增加相应的命令号,协议定义。2、重新生成协议文件。3、在服转载 2017-03-17 15:06:31 · 1103 阅读 · 0 评论 -
TeamTalk服务端描述
TTServer(TeamTalk服务器端)主要包含了以下几种服务器:LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等RouteServer (C++): 路由服务器,为登录在不同MsgServer的用户提供消息转发功能FileServer (转载 2017-01-04 10:52:23 · 1026 阅读 · 0 评论 -
TeamTalk源码分析之msg_server
消息服务器支持TCP长连接和HTTP长轮询两种接入方式,本节主要讲SOCKET的轮训,先看如下几个函数。void CMsgConn::OnConnect(net_handle_thandle){ m_handle = handle; m_login_time = get_tick_count(); g_msg_conn_map.insert(转载 2017-01-18 11:01:55 · 1528 阅读 · 0 评论 -
TeamTalk源码分析之login_server
login_server是TeamTalk的登录服务器,负责分配一个负载较小的MsgServer给客户端使用,按照新版TeamTalk完整部署教程来配置的话,login_server的服务端口就是8080,客户端登录服务器地址配置如下(这里是win版本客户端): 1、login_server启动流程 login_server的启动是从login_server.cpp中的main函数开始的,log...转载 2017-01-17 10:25:07 · 1054 阅读 · 1 评论 -
TeamTalk消息服务器原理及二次开发简介
原文:https://my.oschina.net/u/877397/blog/483599置顶:关于用smart pointer修改的demo源码我放在了我的开源中国的git目录下, 这个地址:http://git.oschina.net/benben-de-eggs/tt-code-fragment修改基于一个原则,不会动老的接口,也就是说,以前的代码不需要修改成智能指针也转载 2016-12-29 17:26:55 · 2446 阅读 · 1 评论 -
蘑菇街的开源IM:TeamTalk
TeamTalk 是蘑菇街开源的一款企业办公即时通信软件,最初是为自己内部沟通而做的 IM 工具。GitHub 仓库团队对外博客项目框架麻雀虽小五脏俱全,本项目涉及到多个平台、多种语言,简单关系如下图:服务端:CppServer:TTCppServer工程,包括IM消息服务器、http服务器、文件传输服务器、文件存储服务器、登陆服务器Java DB Pr转载 2016-12-27 16:23:39 · 7085 阅读 · 0 评论 -
TeamTalk源码分析之win-client
windows的程序的基本原理: 1. windows消息机制(消息如何产生、如何发送、如何处理,常见的消息有哪些、消息的优先级、如何自定义消息、窗体消息、常用控件消息) 2. gdi原理(要熟悉gdi的各种对象,如画笔、画刷、字体、区域、裁剪、位图等,熟悉它们的API,熟悉各种gdi绘图API、当然最好也要熟悉一整套的gdi+的类,gdi与gdi+的区别) 3. windows进程与线程的概转载 2017-07-15 14:40:19 · 3423 阅读 · 1 评论