请教socket+thread的结构模式

lifeforu 2005-12-14 04:35:27
打算用C++实现一个以TCP为基础的实现滑动窗口算法-重传-超时等机制的类
我想请问类、线程、互斥等之间的结构关系。
...全文
158 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeforu 2005-12-15
  • 打赏
  • 举报
回复
我已经实现了一个轻量级的,发这个贴子就是想实现一个重量级 ,呵呵
oyljerry 2005-12-15
  • 打赏
  • 举报
回复
根据功能动手实现吧,轻量级的访问,一个线程对应一个客户够用了
lifeforu 2005-12-15
  • 打赏
  • 举报
回复
是有点笼统

其实是想知道类与线程之间如何处理?
class CSocketEx
{

map<stringServer , socket> m_vSockets;
map<intID , map<intIndex , vector<charData> > > m_vRecv;
map<intID , vector<charData> > m_vSend;
listen(int port);
connectTo(string server);
static threadFuncRecv(...);
static threadFuncSend(...);
static Critical_Section csRecv,csSend,csSocket;
}
listen的时候就开一个线程threadFuncRecv()将this传进去,接收到数据就
enterCriticalSection , m_vRecv[ID ] = map<Index , vector<recvData> >;
如果是重发就从m_vSend找出数据发送,如果是成功标识就删除.
发送一个数据包时开threadFuncSend将this传进去,将数据发送后再放入m_vSend
.........

这样的结构能行吗?没有这类经验...
lifengice0706 2005-12-15
  • 打赏
  • 举报
回复
类提供wrapper包装基本的tcp操作。
线程配合类,并实现重发,超时机制。
涉及的数据结构,有些需要CS!
freemme 2005-12-15
  • 打赏
  • 举报
回复
当然要用到类,类里面当然应该使用多线程,多线程中当然应该对全局变量进行同步
freemme 2005-12-15
  • 打赏
  • 举报
回复
这个问题太笼统了吧

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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