📄 csocketmap.cpp
字号:
#include "SocketMap.h"
#include <map.h>
using namespace std;
CSocketMap::CSocketMap()
{
pthread_mutex_init(&m_mutex,NULL);
m_SocketMap.clear();
}
CSocketMap::~CSocketMap()
{
m_SocketMap.clear();
}
void CSocketMap::InsertSocketMap(int nSocket , SocketPack& rPack)
{
pthread_mutex_lock(&m_mutex);
m_SocketMap.insert(make_pair(nSocket,rPack));
pthread_mutex_unlock(&m_mutex);
}
/* FindSocketMap 在Map中查找是否已经存在*/
bool CSocketMap::FindSocketMap(int nSocket , SocketPack& rPack)
{
pthread_mutex_lock(&m_mutex);
int nTmpSocket;
std::map<int,SocketPack>::iterator pos = m_SocketMap.find(nSocket);
if(pos != m_SocketMap.end())
{
rPack = pos->second;
}
return m_SocketMap.size();
pthread_mutex_unlock(&m_mutex);
}
/*从MAP中移除对应的消息*/
void CSocketMap::EraseSocketMap(int nSocket)
{
pthread_mutex_lock(&m_mutex);
std::map<int , SocketPack>::iterator pos = m_SocketMap.find(nSocket);
if(pos != m_SocketMap.end())
{
m_SocketMap.erase(pos);
}
pthread_mutex_unlock(&m_mutex);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -