自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

左雪菲的专栏

微信公众号:高性能服务器开发,分享超级编程技术干货。

  • 博客(14)
  • 资源 (20)
  • 收藏
  • 关注

原创 git配置ssh key并从github.com拉取repos

一、配置ssh key1. 进入当前用户目录cd ~2. 生成ssh keyssh-keygen -t rsa -C "ABC@qq.com"ABC@qq.com账号必须是你登录github的账户名中间如果提示文件已经存在可以选择覆盖,提示输入密码,可以直接按Enter跳过。$ ssh-keygen -t rsa -C "ABC@qq.com"Generating public/private

2017-05-25 16:57:07 2997

原创 TeamTalk源码分析(十) —— 开放一个TeamTalk测试服务器地址和几个测试账号

由于TeamTalk是用于企业内部的即时通讯软件,一般客户端并不提供账号注册功能。如果你仅对TeamTalk的客户端感兴趣,你可以仅仅研究pc端和移动端代码。官方的测试服务器地址已经失效,所以我已经部署了一套TeamTalk服务器,并建立了几个测试账户可以供你使用:tangsengsunwukongzhubajieshaseng==================xiaow...

2017-05-25 12:08:05 6760 21

原创 TeamTalk源码分析(九) —— 服务器端route_server源码分析

route_server的作用主要是用户不同msg_server之间消息路由,其框架部分和前面的服务类似,没有什么好说的。我们这里重点介绍下它的业务代码,也就是其路由细节:void CRouteConn::HandlePdu(CImPdu* pPdu){ switch (pPdu->GetCommandId()) { case CID_OTHER_HEARTB...

2017-05-20 15:49:18 4037 7

原创 TeamTalk源码分析(八) —— 服务器端file_server源码分析

这篇文章我们来介绍file_server服务的功能和源码实现。TeamTalk支持离线在线文件和离线文件两种传送文件的方式。单纯地研究file_server的程序结构没多大意义,因为其程序结构和其他几个服务结构基本上一模一样,前面几篇文章已经介绍过了。我们研究teamtalk的file_server是为了学习和借鉴teamtalk的文件传输功能实现思路,以内化为自己的知识,并加...

2017-05-20 15:04:38 4236 2

原创 TeamTalk源码分析(七) —— 服务器端msf源码分析

这篇文章是对TeamTalk服务程序msfs的源码和架构设计分析。msfs作用是用来接受teamtalk聊天中产生的聊天图片的上传和下载。还是老规矩,把该服务在整个架构中的位置图贴一下吧。可以看到,msfs仅被客户端连接,客户端以http的方式来上传和下载聊天图片。可能很多同学对http协议不是很熟悉,或者说一知半解。这里大致介绍一下http协议,http协议其实也是一种应用层协...

2017-05-19 18:13:55 8671 8

原创 WinInet使用详解

WinInet是windows平台对socket进行一层封装,用来直接处理http/ftp/Gopher协议的一套windows API。我第一次接触这个是在一个客户那里,当时因为客户都需要使用http代理才能浏览网页,所以折腾了一天,才基本掌握。而时隔没多久又忘记的差不多了,这个流程就像正则表达式一样,常学常忘,常忘常学。而网络上流传的WinInet代码实例,不是编译不通过,就是粗制滥造。因此现

2017-05-19 10:35:16 24642 12

原创 TeamTalk源码分析(六) —— 服务器端login_server源码分析

login_server从严格意义上来说,是一个登录分流器,所以名字起的有点名不符实。该服务根据已知的msg_server上的在线用户数量来返回告诉一个即将登录的用户登录哪个msg_server比较合适。关于其程序框架的非业务代码我们已经在前面的两篇文章《TeamTalk源码分析(四) —— 服务器端db_proxy_server源码分析》和《TeamTalk源码分析(五) —— 服务器端msg_...

2017-05-18 16:42:27 5186 4

原创 TeamTalk源码分析(五) —— 服务器端msg_server源码分析

在分析msg_server的源码之前,我们先简单地回顾一下msg_server在整个服务器系统中的位置和作用:各个服务程序的作用描述如下:LoginServer (C++): 负载均衡服务器,分配一个负载小的MsgServer给客户端使用 MsgServer (C++): 消息服务器,提供客户端大部分信令处理功能,包括私人聊天、群组聊天等 RouteServer (C+...

2017-05-18 15:21:06 6816 3

原创 TeamTalk源码分析(四) —— 服务器端db_proxy_server源码分析

从这篇文章开始,我将详细地分析TeamTalk服务器端每一个服务的源码和架构设计。这篇从db_proxy_server开始:db_proxy_server是TeamTalk服务器端最后端的程序,它连接着关系型数据库mysql和nosql内存数据库redis。其位置在整个服务架构中如图所示:我们从db_proxy_server的main()函数开始,main()函数其实就是做了以下...

2017-05-17 18:07:32 8634 14

原创 将char* 赋值给std::string的一些陷阱

这段时间,总是要使用char或者char* 赋值给std::string,踩了不少坑。于是写了个测试代码:#include #include using namespace std;int main(int argc, char* argv[]){ string str1; cout << "str1:" << str1 << " length: " << str

2017-05-12 16:30:56 37020

原创 TeamTalk源码分析(三) —— 服务器端的程序架构介绍

通过上一节的编译与部署,我们会得到TeamTalk服务器端以下部署程序:db_proxy_serverfile_serverhttp_msg_serverlogin_servermsfsmsg_serverpush_serverrouter_server这些服务构成的拓扑图如下:各个服务程序的作用描述如下:LoginServer (C++): ...

2017-05-10 13:30:10 12160 5

原创 TeamTalk源码分析(二) —— 服务器端的程序的编译与部署

写在前面的话,如果您在部署teamtalk过程中遇到困难,可以关注我的微信公众号『easyserverdev』,在微信公众号中回复『teamtalk部署求助』,我将与你取得联系并协助您解决。或者您对高性能服务器开发感兴趣,您也可以关注我的微信公众号获得技术支持。 这篇我们来介绍下TeamTalk服务器端的编译与部署,部署文档在auto_setup下,这里我们只介...

2017-05-05 16:14:20 22980 6

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

TeamTalk是蘑菇街开源的一款企业内部用的即时通讯软件(Enterprise IM),类似腾讯的RTX。网上也有很多的介绍,我这里也有写几遍关于这款产品的“流水账”,一方面对自己这段时间的阅读其代码做个总结,尽量做个既能宏观上从全局来介绍,又不缺少很多有价值的微观细节,另一方面如果对于作为读者的您有些许帮助,那就善莫大焉了。 项目地址github:https://g...

2017-05-05 14:58:30 20217 5

原创 mysql INSERT ... ON DUPLICATE KEY UPDATE语句

网上关于ON DUPLICATE KEY UPDATE大多数文章都是同一篇文章转来转去,首先这个语法的目的是为了解决重复性,当数据库中存在某个记录时,执行这条语句会更新它,而不存在这条记录时,会插入它。相当于 先判断一条记录是否存在,存在则update,否则insert。其语法是:INSERT INTO tablename(field1,field2, field3, ...) VAL

2017-05-02 17:31:04 31033 2

文章《用Android Studio进行NDK编程》配套资源

文章《用Android Studio进行NDK编程》配套资源,本来不想要积分的,可是现在CSDN规则改成资源至少是两分 - -!

2018-04-17

Gh0st全套源码

Gh0st是一款优秀的远程控制软件,其可以实现对被控制端诸如文件管理、远程桌面、进程管理、视频监控等操作。

2018-02-15

安卓版TeamTalk客户端源码

安卓版TeamTalk客户端源码,开发环境: IDE使用Android-studio java 1.7 gradle 2.2.1

2017-05-25

TeamTalk pc客户端源码

TeamTalk pc客户端源码,用VS2013直接打开即可编译调试。

2017-05-25

封装了WinInet的HttpClient库

封装了WinInet的HttpClient库,提供多个http接口,强大稳定。

2017-05-19

蘑菇街TeamTalk源码

蘑菇街 TeamTalk 源码 IM 即时通讯

2017-05-05

TeamTalk源码和redis-3.2.8安装程序

蘑菇街开源的即时通讯软件TeamTalk

2017-05-05

即时通讯flamingo服务器端代码

这是即时通讯flamingo服务器端代码,目前即时通讯软件实现了如下功能: 注册 登录 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近会话 单人聊天功能(包括发文字、表情、窗口抖动、离线文件) 群聊功能(包括发文字、表情) 修改密码 修改个人信息(自定义昵称、签名、个性头像等个人信息) 自动升级功能 包括聊天服务器和文件服务器,同时也是一款通用的C++11网络框架。

2017-04-06

即时通讯flamingo客户端

目前即时通讯软件实现了如下功能(这里只列举网络相关的功能,其他客户端已经实现的功能不统计在列,请自行发现): 注册 登录 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近会话 单人聊天功能(包括发文字、表情、窗口抖动、离线文件) 群聊功能(包括发文字、表情) 修改密码 修改个人信息(自定义昵称、签名、个性头像等个人信息) 自动升级功能

2017-04-06

myreactor项目C++11版本源代码

一个用C++写的echo服务器,运行在linux平台,使用epoll ET模式,支持多个客户端连接和收发消息,纯C11代码。包括C++11新的变量初始化方式、for循环、auto关键字、线程、互斥体、条件变量等C++11常用的技术。

2016-12-04

myreactorserver项目源码

myreactorserver项目源码,实现echo功能,使用epoll ET模式,运行在linux平台,支持多个客户端连接。

2016-12-04

JavaScript设计模式与开发实践.pdf

JavaScript设计模式与开发实践.pdf 高清 有目录

2016-11-04

UNIX环境高级编程(中文第三版).pdf

UNIX环境高级编程(中文第三版).pdf 有目录 清晰度勉强可以看

2016-11-04

编译系统透视:图解编译原理.pdf

编译系统透视:图解编译原理.pdf 高清 但是 没有目录

2016-11-04

Linux高性能服务器编程.pdf

Linux高性能服务器编程.pdf 高清带详细目录

2016-11-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除