zoukankan      html  css  js  c++  java
  • 一步一步做高性能服务器(C++) -- Day 1

    【回顾】

    在昨天,写了博客,打算实现一个Game Server Frame.

    并设定了初步目标。

    【初步设计】

    1. 今儿构思一番,画了一个Server的初步类图。考虑的不是很全面。

    没有考虑如何实现热部署,没有考虑如何实现分布式,只是单纯的将TCP,UDP封装而已。

    a) StreamIO类实现数据按1字节流向缓冲区,以及缓冲区按1字节流出数据。 在流入与流出的过程中实现AES256加密。

    b) SocketHelper类实现数据包的发送与接收,与StreamIO类的关系为聚合。

    (修改:此处考虑之后,决定合并为一个类。即将writer, reader, encrypt, decrypt函数迁移为socketHelper类的私有函数)。

    c) Server类封装了消息队列、消息映射,以及连接池。与SocketHelper的关系为聚合。此处的设计稍微有些不合理,对于需求得把握不是很恰当,需要在实践中进行改进。

    d) TCPServer与UDPServer为具体的逻辑处理类,继承自Server类。此处应当考虑下线程、进程以及分布式。

    注:socket部分的实现,处于性能目的考虑,将依赖于libevent。

    【代码】

    代码尚未实现,需要在今天补上。

    并push到bitbucket上。

    地址:https://bitbucket.org/Allen_Wu/gas

    项目名暂定为Gas。Gas原意为瓦斯、天然气。在此处,引申为能源,希望能通过这个项目给自己充满能量,且永不枯竭。

  • 相关阅读:
    软链接和硬链接
    Hive的基本常识
    Hadoop
    Docker技术
    人生苦短,我用Python(6)
    人生苦短,我用Python(5)
    人生苦短,我用Python(4)
    openssl telnet openssh
    iptables
    http与httpd
  • 原文地址:https://www.cnblogs.com/coddingfun/p/3407728.html
Copyright © 2011-2022 走看看