求一个高效缓冲方案

cryptonym 2005-11-28 11:43:56
用udp协议写服务器端,你们都是用什么数据缓冲方案?

tcp的呢?
...全文
212 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccxian123 2005-12-07
  • 打赏
  • 举报
回复
既然是用队列的话干嘛不回收内存?不断地New和Delete的话效率不好的。
mynamelj 2005-12-05
  • 打赏
  • 举报
回复
如果你想使用封装好的CCriticalQueue

联系我QQ:154828
mynamelj 2005-12-05
  • 打赏
  • 举报
回复
我是用的queue,自已封装了一个临界区队列类CCriticalQueue作好同步工作

//这是我的数据结构体,可以是TCP包或UDP包共用一个结构体具体的自已定

struct _DATAPACKAGE
{
union {
struct _UDP_PACKAGE stUDP;
struct _TCP_PACKAGE stTCP;
} pack;
sockaddr_in peerAddr;

#define udp pack.stUDP
#define tcp pack.stTCP
};

// 定义队列对象
CCriticalQueue <struct _DATAPACKAGE*> m_RecvQueue;

// 收到数据以后直接追加到队列中去
_DATAPACKAGE *pData = new _DATAPACKAGE;
收数据.....
m_RecvQueue.push(pData);


// 使用的时候直接取出来
_DATAPACKAGE *pData;
pData = RecvQueue.front();
用完后.....
delete pData;
RecvQueue.pop(); //从队列中移除就行了
mynamelj 2005-12-05
  • 打赏
  • 举报
回复
用队列数据结构吧
zhaojian999 2005-12-02
  • 打赏
  • 举报
回复
你可以找找关于双队列缓冲区的资料,这个的效率很高
rtdb 2005-11-30
  • 打赏
  • 举报
回复
内存缓冲的算法不重要,因为内存处理速度远大于网络速度
starcbh 2005-11-29
  • 打赏
  • 举报
回复
环形缓冲
oyljerry 2005-11-28
  • 打赏
  • 举报
回复
缓冲区

4,390

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧