1 Star 0 Fork 68

qwhh514/cocosocket

forked from beykery/cocosocket 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SocketListerner.cpp 1.16 KB
一键复制 编辑 原始数据 按行查看 历史
root 提交于 2014-01-26 17:47 . bug
/*
* File: SocketListerner.cpp
* Author: beykery
*
* Created on 2013年12月30日, 下午4:00
*/
#include "SocketListerner.h"
#include "sys/socket.h"
#include "Socket.h"
#include "ByteBuf.h"
#include "Protocal.h"
SocketListerner::SocketListerner()
{
}
SocketListerner::~SocketListerner()
{
}
void SocketListerner::SetContext(Socket* context)
{
this->context = context;
}
void SocketListerner::Run()
{
ByteBuf* buf = new ByteBuf(1024);
int size = 0;
int sockid = context->GetSocketId();
while (true)
{
size = recv(sockid, buf->GetRaw(), 1024, 0);
if (size > 0)
{
buf->ReaderIndex(0);
buf->WriterIndex(size);
while (true)
{
ByteBuf* frame = context->GetProtocal()->TranslateFrame(buf);
if (frame != NULL)
{
this->OnMessage(context, frame);
} else
{
break;
}
}
} else
{
break;
}
}
delete buf;
this->OnClose(context, true);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/unreal/cocosocket.git
[email protected]:unreal/cocosocket.git
unreal
cocosocket
cocosocket
master

搜索帮助