基于TCP Socket和Websocket实现的相互即时通信系统

目录
摘  要 III
ABSTRACT IV
第一章 引言 1
1.1 即时通信系统基本概念 1
1.2 即时通信系统的发展历程 1
1.3 系统研究目的和意义 1
1.4 系统可行性分析 2
第二章 相关技术介绍 3
2.1 TCP/UDP协议 3
2.2 WebSocket协议 3
2.3 服务器模型 4
2.3.1 同步 4
2.3.2 复制进程 4
2.3.3多线程 5
2.3.4 事件驱动 5
2.4 TLS/SSL协议 5
2.5编程语言 5
2.5.1 C++ 5
2.5.2 Nodejs 6
2.6 开源库 6
2.6.1 Boost C++ Libraries 6
2.6.2 Openssl 7
2.6.3 Protobuf 7
2.6.4 Hiredis 7
2.6.5 Socket.io 7
2.7 开发相关工具 8
2.7.1 Redis 8
2.7.2 Sqlite 8
2.7.3 Nginx 8
2.7.4 Visual Studio 2013 8
2.7.5 Visio 2013 9
第三章 即时通信系统的设计 10
3.1 即时通信系统功能描述 10
3.2服务器设计 11
3.3数据库设计 11
3.4主要的消息时序图 12
3.4.1 未读消息时序图 12
3.4.2点对点私聊时序图 13
3.4.3群聊消息时序图 14
3.5网络处理设计 15
3.5.1封包 15
3.5.2拆包 16
3.6负载均衡设计 17
3.7网络安全设计 18
第四章 即时通信系统的实现 19
4.1主要类和文件说明 19
4.2系统部分截图 23
第五章 即时通信系统的测试 26
5.1测试目的和任务 26
5.2测试流程 26
5.3 功能测试用例 27
第六章 结论和展望 28
6.1 结论 28
6.2 进一步工作的方向 28
参考文献 29
致谢 30
第三章 即时通信系统的设计
3.1 即时通信系统功能描述
随着web的发展,在HTML5标准中提出了Websocket protocol协议。它实现了浏览器与服务器全双工通信(full-duplex)。为用户提供能够通过客户端和web端接入的即时通信平台,让用户体验传统客户端和HTML5标准结合带来的超爽体验,方便人们之间的信息交流,创建新型沟通文化,提升人们生活的效率。
该系统具有私聊,群聊,消息通知、离线消息存储,上下线通知等基本功能,同时保证数据通信的即时性以及通信过程和消息存储的安全性。

在这里插入图片描述

图3.1 用户用例图
3.2系统总体设计
TCP服务器和客户端采用C++编写,通过TCP协议与服务器连接并由SSL安全传输层保证安全,实现即时通信。浏览器端通过HTML5中提出的Websocket协议与服务器连接,Websocket服务器和HTTP服务器采用Nodejs编写。不同物理服务器,不同语言服务器采用统一的数据传输格式来传输,借助redis数据库的Pub/Sub模式和消息队列,来进行服务器之间的信息通信。http://www.biyezuopin.vip/onews.asp?id=12312对数据库进行Master/Salve备份。
图3.2 服务器设计图
在这里插入图片描述

<!DOCTYPE html>
<html>
<meta charset="utf-8">
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='../css/style.css' />
    <link rel="stylesheet" href="../css/Nav.css" />
  </head>
  <body>
  <div>
      <nav class="first">
          <ul>
              <li><a href="/">主页</a></li>
              <li><a href="/chat">聊天室</a></li>
              <li><a href="/">临时聊天室</a></li>
              <li><a href="">个人主页</a></li>
          </ul>
      </nav>
</div>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>

  </body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shejizuopin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值