请教socket+thread的结构模式

lifeforu 北京赛智科技有限公司 项目经理  2005-12-14 04:35:27
打算用C++实现一个以TCP为基础的实现滑动窗口算法-重传-超时等机制的类
我想请问类、线程、互斥等之间的结构关系。
...全文
129 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
这个问题太笼统了吧
回复
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-12-14 04:35
社区公告
暂无公告