91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 145KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-07
  • 語言: C/C++
  • 標簽: IM??C++11??

資源簡介

這是即時通訊flamingo服務器端代碼,目前即時通訊軟件實現了如下功能: 注冊 登錄 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近會話 單人聊天功能(包括發文字、表情、窗口抖動、離線文件) 群聊功能(包括發文字、表情) 修改密碼 修改個人信息(自定義昵稱、簽名、個性頭像等個人信息) 自動升級功能 包括聊天服務器和文件服務器,同時也是一款通用的C++11網絡框架。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?“asynclogging.h“
#include?“logfile.h“
#include?“timestamp.h“

const?char?digits[]?=?“9876543210123456789“;
const?char*?zero?=?digits?+?9;
static_assert(sizeof(digits)?==?20?“digitshex?failed“);

const?char?digitsHex[]?=?“0123456789ABCDEF“;
static_assert(sizeof(digitsHex)?==?17?“digitshex?failed“);

//?Efficient?Integer?to?String?Conversions?by?Matthew?Wilson.
template
size_t?convert(char?buf[]?T?value)
{
T?i?=?value;
char*?p?=?buf;

do
{
int?lsd?=?static_cast(i?%?10);
i?/=?10;
*p++?=?zero[lsd];
}?while?(i?!=?0);

if?(value? {
*p++?=?‘-‘;
}
*p?=?‘\0‘;
std::reverse(buf?p);

return?p?-?buf;
}

size_t?convertHex(char?buf[]?uintptr_t?value)
{
uintptr_t?i?=?value;
char*?p?=?buf;

do
{
int?lsd?=?static_cast(i?%?16);
i?/=?16;
*p++?=?digitsHex[lsd];
}?while?(i?!=?0);

*p?=?‘\0‘;
std::reverse(buf?p);

return?p?-?buf;
}

template?class?FixedBuffer;
template?class?FixedBuffer;


template
const?char*?FixedBuffer::debugString()
{
*cur_?=?‘\0‘;
return?data_;
}

template
void?FixedBuffer::cookieStart()
{
}

template
void?FixedBuffer::cookieEnd()
{
}

AsyncLogging::AsyncLogging(const?string&?basename
???size_t?rollSize
???int?flushInterval)
???:?flushInterval_(flushInterval)
???running_(false)
???basename_(basename)
???rollSize_(rollSize) ???
???latch_(1)
???currentBuffer_(new?Buffer)
???nextBuffer_(new?Buffer)
???buffers_()
{
currentBuffer_->bzero();
nextBuffer_->bzero();
buffers_.reserve(16);
}

void?AsyncLogging::append(const?char*?logline?int?len)
{
std::unique_lock?lock(mutex_);
if?(currentBuffer_->avail()?>?len)
{
currentBuffer_->append(logline?len);
}
else
{
buffers_.push_back(currentBuffer_);

if?(nextBuffer_)
{
currentBuffer_?=?std::move(nextBuffer_);
}
else
{
currentBuffer_.reset(new?Buffer);?//?Rarely?happens
}
currentBuffer_->append(logline?len);
cond_.notify_all();
}
}

void?AsyncLogging::threadFunc()
{
assert(running_?==?true);
latch_.countDown();
LogFile?output(basename_?rollSize_?false);
BufferPtr?newBuffer1(new?Buffer);
BufferPtr?newBuffer2(new?Buffer);
newBuffer1->bzero();
newBuffer2->bzero();
BufferVector?buffersToWrite;
buffersToWrite.reserve(16);
while?(running_)
{
assert(newBuffer1?&&?newBuffer1->length()?==?0);
assert(newBuffer2?&&?newBuffer2->length()?==?0);
assert(buffersToWrite.empty());

{
std::unique_lock?lock(mutex_);
if?(buffers_.empty())??//?unusual?usage!
{
cond_.wait_for(lock?chrono::seconds(flushInterval_));
}
buffers_.push_back(currentBuffer_);
currentBuffer_?=?std::move(newBuffer1);
buffersToWrite.swap

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-09?18:27??base\
?????文件????????4186??2016-06-22?17:08??base\asynclogging.cpp
?????文件????????2475??2016-06-22?17:08??base\asynclogging.h
?????文件?????????496??2016-06-22?17:08??base\countdownlatch.cpp
?????文件?????????323??2016-06-22?17:08??base\countdownlatch.h
?????文件????????3072??2016-06-22?17:08??base\fileutil.cpp
?????文件????????1365??2016-06-22?17:08??base\fileutil.h
?????文件????????2054??2016-06-22?17:08??base\logfile.cpp
?????文件?????????875??2016-06-22?17:08??base\logfile.h
?????文件????????5059??2016-06-22?17:08??base\logging.cpp
?????文件????????3191??2017-03-09?18:27??base\logging.h
?????文件????????4228??2016-06-22?17:08??base\logstream.cpp
?????文件????????3115??2016-06-22?17:08??base\logstream.h
?????文件?????????646??2017-03-09?17:43??base\singleton.h
?????文件????????2072??2016-06-22?17:08??base\timestamp.cpp
?????文件????????2771??2016-06-22?17:08??base\timestamp.h
?????文件?????????358??2017-03-21?10:06??CentOS7關閉防火墻方法.txt
?????目錄???????????0??2017-03-29?17:10??chatserversrc\
?????文件???????39139??2017-03-29?17:10??chatserversrc\ClientSession.cpp
?????文件????????2636??2017-03-29?16:37??chatserversrc\ClientSession.h
?????文件????????3846??2017-03-23?17:29??chatserversrc\IMServer.cpp
?????文件????????1553??2017-03-23?17:30??chatserversrc\IMServer.h
?????文件????????2928??2017-03-17?11:16??chatserversrc\main.cpp
?????文件????????5974??2017-03-29?16:36??chatserversrc\Msg.h
?????文件????????2582??2017-03-29?10:33??chatserversrc\MsgCacheManager.cpp
?????文件????????1155??2017-03-29?09:07??chatserversrc\MsgCacheManager.h
?????文件????????1335??2017-03-16?12:32??chatserversrc\TcpSession.cpp
?????文件?????????736??2017-03-15?09:14??chatserversrc\TcpSession.h
?????文件???????15356??2017-03-29?11:09??chatserversrc\UserManager.cpp
?????文件????????2714??2017-03-29?11:05??chatserversrc\UserManager.h
?????文件????????1947??2017-03-29?16:05??CMakeLists.txt
............此處省略87個文件信息

評論

共有 條評論