TeamTalk介绍

项目框架

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

服务端:

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调试器,编译成功

如何编译Android客户端

安装AndroidStudio

  • 下载地址:AndroidStudio中文社区

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

编译项目

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

    1. 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

  1. 解决方法:
  2. cd srclib/
  3. 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环境下。
  1. 18.1 我虚拟机的环境
  2. 链接: http://pan.baidu.com/s/1sjx8g49 密码: 4572
  3. 18.2 虚拟机硬盘
  4. 因网盘大小限制1G,所以将虚拟机硬盘切分成3个文件上传:
  5. 链接: http://pan.baidu.com/s/1mgDXvwW 密码: tgzp
  6. 请使用如下命令合并解压:
  7. cat CentOS-hd.tar.gz.* > CentOS-hd.tar.gz
  8. tar -zxvf CentOS-hd.tar.gz
  9. 18.3 账号信息
  10. 虚拟机账号信息如下:
  11. linux账号密码:root/123456
  12. mysql root账号密码:root/test123
  13. mysql teamtalk账号密码:teamtalk/test@123
  14. php 后台账号密码:admin/admin
  15. 测试用户账号密码:test/test
配置虚拟机的环境
  • 运行虚拟机出现UUID(通用唯一识别码)重复了,需要重新设置UUID
  1. VirtualBox.exe internalcommands sethduuid "E:\xxxx\xxx\ubuntu 12.10.vdi"(注:4.0.4之前版本的命令为setvdiuuid
  2. 当出现“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的进程,请执行如下命令启动:
  1. cd xxxx
  2. ../daeml xxxx
启动msfs服务-图片语音正常发送
  • 1-把msfs下面的msfs.conf.example拷贝一份变成msgs.conf
  • 2-打开该文件,配置文件的存放地址BaseDir=/xxx(可以自己取)
  • 3-启动msfs,在teamtalk目录下的命令如下:
  1. cd msfs
  2. cp msfs.conf.example msgs.conf
  3. vim msgs.conf #修改其中的地址,端口不用改,修改完成以后使用esc回到命令模式使用:wq保存退出
  4. ../daeml msfs
  5. cd log
  6. vim default.log #查看服务是否启动成功

参考:

新版TeamTalk部署教程

新版TeamTalk安装部署常见问题汇总

TeamTalk安装测试的更多相关文章

  1. mahout 安装测试

    1 下载 在http://archive.apache.org/dist/mahout下载相应版本的mahout 版本,获取官网查看http://mahout.apache.org 相关的信息

  2. Hbase的安装测试工作

    Hbase的安装测试工作: 安装:http://www.cnblogs.com/neverwinter/archive/2013/03/28/2985798.html 测试:http://www.cn ...

  3. ubuntu下opencv2.4.9安装测试

    ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1.  build-essential 软件包 sudo apt-get install bui ...

  4. 如何在本地安装测试ECSHOP 转载

    如何在本地安装测试ECSHOP 如何在本地(自己的电脑)上先安装ECShop 一.创建PHP环境 1.下载AppServ 因为ECShop在线网上商店系统是用PHP语言开发的,所以,在本地架设网店之前 ...

  5. 谷歌Cartographer学习(1)-快速安装测试(转载)

    转载自谷歌Cartographer学习(1)-快速安装测试 代码放到个人github上,https://github.com/hitcm/ 如下,需要安装3个软件包,ceres solver.cart ...

  6. ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版

    主要参考文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 一. 32位版本: coreseek安装需要预装的软件: ap ...

  7. Centos 7.3 编译 & 安装 & 测试 facebook faiss

    许多 AI 系统训练完毕,正式上线时的基本操作往往可以抽象为:在高维向量空间中,给定一个向量,寻找与之最相近的 k 个向量.当向量数目异常巨大时,如何快速地执行这一基本操作,便成为 AI 系统在工程应 ...

  8. Python 3.6.3 官网 下载 安装 测试 入门教程 (windows)

    1. 官网下载 Python 3.6.3 访问 Python 官网 https://www.python.org/ 点击 Downloads => Python 3.6.3 下载 Python ...

  9. redis3.2.10单实例安装测试

    redis3.2.10单实例安装测试 主要是实际使用环境中使用,为了方便快速部署,特意记录如下: # root用户 yum -y install make gcc-c++ cmake bison-de ...

随机推荐

  1. LeetCode 370. Range Addition (范围加法)$

    Assume you have an array of length n initialized with all 0's and are given k update operations. Eac ...

  2. ubuntu中python3.4安装pip

    这两天碰到在ubuntu中安装pip的问题. 第一种方法 用百度搜索了一下,基本上都是这个命令: sudo apt-get install python3-pip 但是,用这条命令下载速度特别慢. 第 ...

  3. xml文件的方式实现动态代理基于SpringAOP

    1.配置spring容器 导入jar包 com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.j ...

  4. 版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB

    实验测试:快速创建一个数据库PDB2: 实验环境:12.2.0.1.0版本数据库,dbca图形化安装,现有环境,CDB容器数据库ORCL,PDB可插拔数据库ABC   ---查询CDB名称,状态 SQ ...

  5. C#与lua相互调用

    Lua是一种很好的扩展性语言,Lua解释器被设计成一个很容易嵌入到宿主程序的库.LuaInterface则用于实现Lua和CLR的混合编程. (一)C#调用Lua 测试环境:在VS2015中建一个C# ...

  6. 译:Asp.Net Identity与Owin,到底谁是谁?

    送给正在学习Asp.Net Identity的你 :-) 原文出自 trailmax 的博客AspNet Identity and Owin. Who is who. Recently I have ...

  7. poj 2459 Sumsets

    Sumsets Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11612   Accepted: 3189 Descript ...

  8. easyui dialog 中嵌入html页面

    最近使用easyui比较多,这个插件确实很好用.在使用时也遇到了大大小小的问题,好在都一一解决了. 记录一下今天遇到的问题. 目的:用easyui的dialog嵌入一个html页面(html中仍有要执 ...

  9. python添加自定义cookies

    import cookielib,urllib2 class AddCookieHandler(urllib2.BaseHandler): def __init__(self,cookieValue) ...

  10. Jquery中attr 和 prop的区别和联系

    昨天在选择借款方类型的时候总是会出现选择要点两次的现象,比如点击公司,第一次点击选择公司,没有选中,必须在次点击才可以选中,总感觉是有点延迟加载的意思,后来审查元素, 发现是redio元素,这样的话就 ...