Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
###公告

我们没有预料到大家对我们Teamtalk反响如此热烈,还没正式对外开放就有这么多人关注,目前github上的代码是早期版本,还存在一些问题,最新的代码还没来得及提交,开发人员正在努力中,非常感谢大家对Teamtalk开源的关注和支持~

###简介:

TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。

TTServer主要包含了以下几种服务器:

- LoginServer (C++): 登录服务器,分配一个负载小的MsgServer给客户端使用
- MsgServer (C++):  消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等
- RouteServer (C++):  路由服务器,为登录在不同MsgServer的用户提供消息转发功能
- FileServer (C++): 文件服务器,提供客户端之间得文件传输服务,支持在线以及离线文件传输
- MsfsServer (C++): 图片存储服务器,提供头像,图片传输中的图片存储服务
- DBProxy (JAVA): 数据库代理服务器,提供mysql以及redis的访问服务,屏蔽其他服务器与mysql与redis的直接交互


###当前支持的功能点:

- 私人聊天
- 群组聊天
- 文件传输
- 多点登录
- 组织架构设置.


###系统结构图

![](https://github.com/mogutt/TTServer/blob/master/docs/pics/server.png)


###后续可考虑的功能

- 协议加密
- 手机推送
- 其他合理的酷炫功能点


###C++编译
- 整体编译:可以运行src/目录下的build.sh脚本,例如: ./build.sh version 0.0.1
- 单个模块编译:进入各自的目录,然后执行make即可,注意:base模块需要优先编译

###C++使用
- 程序启动请使用run.sh脚本,例如: ./run.sh start
- 程序重启请使用restart.sh脚本,例如: ./restart.sh msg_server

###C++部署方案
- 部署方案详见https://github.com/mogutt/TTAutoDeploy 之IM_SERVER模块


###java编译
— 编译整个项目可以运行与src同目录的packageproduct.sh, sh packageproduct.sh

###java使用
— 程序启动可以运行与src同目录的startup.sh, sh startup.sh 10400(其中10400为绑定的端口号)

###java部署方案
- 部署方案详见https://github.com/mogutt/TTAutoDeploy 之IM_SERVER模块
12 changes: 4 additions & 8 deletions cpp/src/base/ConfigFileReader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,11 @@ char* CConfigFileReader::GetConfigName(const char* name)
return NULL;

char* value = NULL;
map<string, string>::iterator it = m_config_map->begin();
for ( ; it != m_config_map->end(); it++)
map<string, string>::iterator it = m_config_map->find(name);

if(it != m_config_map->end())
{
const char* key = it->first.c_str();
if (strcmp(key, name) == 0)
{
value = (char*)it->second.c_str();
break;
}
value = (char*)it->second.c_str();
}

return value;
Expand Down
1 change: 0 additions & 1 deletion cpp/src/base/imconn.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,5 @@ typedef hash_map<uint32_t, CImConn*> UserMap_t;
typedef hash_map<uint32_t, uint32_t> UserConnCntMap_t;

void imconn_callback(void* callback_data, uint8_t msg, uint32_t handle, void* pParam);
void ReadPolicyFile();

#endif /* IMCONN_H_ */
1 change: 1 addition & 0 deletions cpp/src/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/bash
build() {
echo "#ifndef __VERSION_H__" > base/version.h
echo "#define __VERSION_H__" >> base/version.h
Expand Down
2 changes: 1 addition & 1 deletion cpp/src/file_server/file_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ int main(int argc, char* argv[])

CConfigFileReader config_file("fileserver.conf");

char* listen_ip = config_file.GetConfigName("ListenIP");
char* listen_ip = config_file.GetConfigName("Address");
char* str_listen_port = config_file.GetConfigName("ListenPort");
char* str_task_timeout = config_file.GetConfigName("TaskTimeout");

Expand Down
2 changes: 2 additions & 0 deletions cpp/src/file_server/fileserver.conf
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
ListenIP=0.0.0.0 # Listening IP
ListenPort=8500 # Listening Port for client
TaskTimeout=60 # Task Timeout (seconds)

Address=0.0.0.0 # address for client
3 changes: 2 additions & 1 deletion cpp/src/msfs/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,12 @@ void Stop(int signo)
{
case SIGINT:
case SIGTERM:
case SIGHUP:
case SIGQUIT:
doQuitJob();
_exit(0);
break;
case SIGHUP:
break;
default:
cout<< "unknown signal"<<endl;
_exit(0);
Expand Down
Binary file added docs/pics/server.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion java/db-online.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ macim_master_username=im
macim_master_password=im123
# macim slave库
macim_slave_url=jdbc:mysql://192.168.2.76/macim
macim_master_port=3306
macim_slave_port=3306
macim_slave_username=im
macim_slave_password=im123
2 changes: 1 addition & 1 deletion java/src/main/resources/db-online.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ macim_master_port=1
macim_master_username=1
macim_master_password=1
macim_slave_url=jdbc:mysql://1.1.1.1/macim
macim_master_port=1
macim_slave_port=1
macim_slave_username=1
macim_slave_password=1