teamtalk mysql.h_TeamTalk安装测试

article/2025/8/30 2:54:17

TeamTalk介绍

项目框架

TeamTalk是蘑菇街的开源项目,github维护的最后时间是2015但是仍然是一款值得学习的好项目,麻雀虽小五脏俱全,本项目涉及到多个平台、多种语言,简单关系如下图

12b9a9da462d29b961f8010410f68123.png

服务端:

CppServer:TTCppServer工程,包括IM消息服务器、http服务器、文件传输服务器、文件存储服务器、登陆服务器

java DB Proxy:TTJavaServer工程,承载着后台消息存储、redis等接口

PHP server:TTPhpServer工程,teamtalk后台配置页面

客户端:

mac:TTMacClient工程,mac客户端工程

iOS:TTIOSClient工程,IOS客户端工程

Android:TTAndroidClient工程,android客户端工程

Windows:TTWinClient工程,windows客户端工程

语言:c++、objective-c、java、php

系统环境:Linux、Windows,Mac, iOS, Android

编译windows客户端

下载TeamTalk

git命令:git clone https://github.com/meili/TeamTalk

安装VS2013

安装vs2013时需要ie10及其以上

需要开启文件服务msfs,不然发送图片会报错

安装完成vs2013后打开TeamTalk\win-client\solution\teamtalk.sln解决方案文件后等待初始化,点击本地windows调试器,编译成功

b15853c9bb61dc132369def693e4861d.png

如何编译Android客户端

安装AndroidStudio

另外说明下:Android Studio 2.2 Preview 3 已经自带了OpenJDK,安装以后可以直接运行

编译项目

打开Android studio 选择并打开TeamTalk\android目录,自动构建编译项目。

33b8fa7a4306a6968eecc42314114bef.png

build.gradle文件中如果修改为compileSdkVersion 23,即6.0及以上的需要引入 useLibrary 'org.apache.http.legacy'库

编译成功后运行出现点击用户头像崩溃,根据错误提示需要修改UserInfoActivity中的布局文件tt_fragment_activity_userinfo增加android:id="@+id/xxxx"

如何编译服务端

有两种方法:

如果想去体验下整个项目所用的软件熟悉配置流程第一种适合你;

如果想去体验下效果,采用第二种跟适合你;

从头到尾直接搭建

使用centos7下载mysql地址失效:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.22.tar.gz 改成wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35.tar.gz

libiconv在CentoS 7上make会出下面的错误:libiconv stdio.h:1010:1: error: ‘gets’ undeclared here

解决方法:

cd srclib/

sed -i -e '/gets is a security/d' ./stdio.in.h

使用蓝狐virtualBox 环境

文件配置信息

下载过慢的话在google浏览器下可以使用baidudl插件获取下载地址,使用FDM下载速度比较可观。

cat CentOS-hd.tar.gz.* > CentOS-hd.tar.gz ,cat合并与tar解压命令需要在Linux环境下。

18.1 我虚拟机的环境

链接: http://pan.baidu.com/s/1sjx8g49 密码: 4572

18.2 虚拟机硬盘

因网盘大小限制1G,所以将虚拟机硬盘切分成3个文件上传:

链接: http://pan.baidu.com/s/1mgDXvwW 密码: tgzp

请使用如下命令合并解压:

cat CentOS-hd.tar.gz.* > CentOS-hd.tar.gz

tar -zxvf CentOS-hd.tar.gz

18.3 账号信息

虚拟机账号信息如下:

linux账号密码:root/123456

mysql root账号密码:root/test123

mysql teamtalk账号密码:teamtalk/test@123

php 后台账号密码:admin/admin

测试用户账号密码:test/test

配置虚拟机的环境

运行虚拟机出现UUID(通用唯一识别码)重复了,需要重新设置UUID

VirtualBox.exe internalcommands sethduuid "E:\xxxx\xxx\ubuntu 12.10.vdi"(注:4.0.4之前版本的命令为setvdiuuid)

当出现“UUID Changed to”时说明修改成功了,可以重新添加虚拟硬盘了。

配置系统环境

使用root身份登录系统后,redis没有随着系统自动启动需要手动启动,不然db_proxy_server启动会出错,依赖于redis

/etc/init.d/redis start

如果没有发现:db_proxy_server, http_msg_server,route_server,login_server,msg_server的进程,请执行如下命令启动:

cd xxxx

../daeml xxxx

启动msfs服务-图片语音正常发送

1-把msfs下面的msfs.conf.example拷贝一份变成msgs.conf

2-打开该文件,配置文件的存放地址BaseDir=/xxx(可以自己取)

3-启动msfs,在teamtalk目录下的命令如下:

cd msfs

cp msfs.conf.example msgs.conf

vim msgs.conf #修改其中的地址,端口不用改,修改完成以后使用esc回到命令模式使用:wq保存退出

../daeml msfs

cd log

vim default.log #查看服务是否启动成功

参考:


http://chatgpt.dhexx.cn/article/cfdOvV1m.shtml

相关文章

TeamTalk消息协议

数据通讯格式封装协议 Protocol Buffer 常用序列化方案比较 参考 https://www.cnblogs.com/johnny666888/p/12841735.html Protocol Buffer Protocol Buffer还有一个非常重要的优点就是可以保证同一消息报文新旧版本之间的兼容性 protobuf协议核心思想 基于128bits的数…

TeamTalk源码分析(1)

一、TeamTalk服务器端以下部署程序: db_proxy_server、file_server、http_msg_server、login_server、msfs、msg_server、push_server、router_server 各个服务程序的作用描述如下: LoginServer (C): 负载均衡服务器,分配一个负载小的MsgSe…

把TeamTalk(即时通讯项目)中的线程池连接池拆出来单独测试。

研究过Teamtalk的伙伴会发现它的线程池和连接池与很多文件有关联, 这篇文章主要写,把它的线程池连接池拆出来需要用到哪些文件。 其实我本来只想测试它的连接池的,但发现连接池里套的有线程池,于是就一起拆出来了。 整个工程的树…

teamtalk原理

再贴一遍架构图 从图中可以看出,对外使用的是http连接,内部使用的是tcp长连接。 类的命名规则:xxxServConn是模块连别的模块,xxxConn是别的模块连它。 协议设计 teamtalk采用protobuf进行序列化 typedef struct {uint32_t le…

TeamTalk源码分析(一)—— TeamTalk介绍

TeamTalk是蘑菇街开源的一款企业内部用的即时通讯软件(Enterprise IM),类似腾讯的RTX。网上也有很多的介绍,我这里也有写几遍关于这款产品的“流水账”,一方面对自己这段时间的阅读其代码做个总结,尽量做个…

teamtalk实现即时通讯

即时通讯技术应用非常广泛,涉及教育、电商、金融、泛娱乐、生活服务、医疗健康、政企服务、游戏聊天、在线客服等等行业,不是大家认为仅仅是qq、微信那样。 即时通讯架构 先给张图 客户端与服务器端进行网络通信、收发消息连接层为客户端收发消息提供…

通识哈夫曼树及其应用,一起来构造属于自己的哈夫曼树

1.哈夫曼树的背景 哈夫曼(霍夫曼、赫夫曼)David Albert Huffman(August9,1925-October7,1999)。计算机科学的先驱,以他的哈夫曼编码闻名,在他的一生中,对于有限状态自动机,开关电路,异步过程和信…

哈佛结构冯·诺依曼结构

哈佛结构是一种将程序指令存储和 数据存储分开的存储器结构。哈佛结构是 一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。 冯诺依曼结构也…

微型计算机之哈佛架构是什么?

“哈佛体系结构”指的是什么? 微型计算机处理命令和数据,但是在很久以前的微型计算机中,用命令和数据共享了一条总线。在这种情况下,CPU在读取指令时使用总线,因此无法访问数据,并且在读取指令结束后访问数…

冯诺依曼结构、哈佛结构、改进型哈佛结构

冯诺依曼结构 冯诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和…

高级数据结构之赫夫曼树

思考两个问题 电报发送:二战的时候大家都知道那时候普遍会应用电报,如果让你来设计一个电报的发送编码你该如何设计呢? 电报加密后越短越好,发送快。破解难解码容易换加密树也要快可逆的 压缩算法:给你10000个字符&am…

ARM到底是冯诺依曼结构还是哈佛结构?

问题 嵌入式的学习中ARM处理器是主题,这些年产业界除了PC和服务器市场外,以手机、pad、家电控制等为代表的嵌入式领域都被ARM几乎垄断了。所以学习嵌入式处理器,其实等同于学习ARM。(当然了,近两年RISC-V架构横空出世在…

冯诺依曼结构和哈佛结构的区别

冯诺依曼结构和哈佛结构的区别 1. 冯诺依曼结构: 说明: 一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。 冯诺依曼的计算机必须…

冯诺依曼与哈佛结构的区别

cortex M3,M4主要采用哈弗结构 个人理解:最主要的区别在于程序空间和数据空间是否是一体的,冯诺依曼结构数据空间和地址空间是不分开的,而哈佛结构数据空间和地址空间是分开的 哈弗结构的优势:如果采用流水线设计&#xff0…

冯氏结构、哈佛结构、超级哈佛结构之间的异同

冯.诺伊曼结构 1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺伊曼型结构”计算机。冯.诺伊曼结构的处理器使用同一个存储器,经由同一个总线传输…

哈佛结构

数字信号处理一般需要较大的运算量和较高的运算速度,为了提高数据吞吐量,在数字信号处理器中大多采用哈佛结构,如下图所示 图 哈佛结构 与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点: 使用两个独立的存储…

冯诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别

1、冯诺依曼结构  冯诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture)。  1945年,冯诺依曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯诺依…

哈佛结构与冯诺依曼结构(含STM32系统结构解析)

存储器是微控制器的重要组成部分,不同类型的微控制器其采用的存储结构与容量不尽相同,但存储器的用途是相同的,用于存放程序和数据。微控制器中的存储结构有两种基本构成形式。 冯诺依曼结构 冯诺依曼结构也称普林斯顿结构,是一…

STM32属于哈佛结构还是冯诺依曼结构?

目录 01、冯诺依曼体系 02、哈佛体系 03、arm和哈佛、冯诺依曼的关系 04、实际芯片制造 现代的CPU基本上归为冯诺伊曼结构(也成普林斯顿结构)和哈佛结构。 冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端…

哈佛体系结构

哈佛机:为数据和程序提供了格子独立的存储器。 程序计数器只指向程序存储器,而不指向数据存储器,这样的的后果是很难再哈佛机上编写出一个自修改的程序。独立的程序存储器和数据存储器为数字信号处理提供了较高的性能。结构如下图所示&#x…