udp_session.cpp

来自「网络泡泡被.net管理」· C++ 代码 · 共 71 行

CPP
71
字号
// UDP_Session.cpp: implementation of the UDP_Session class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "UDP.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

UDP_Session::UDP_Session(uint32 uid, UDP_Socket* ptr_udp_socket)
: NET_Session(uid)
{
	m_ptr_net_socket	= ptr_udp_socket;

}

UDP_Session::~UDP_Session()
{
	m_thread_pool.Cleanup();

}



int UDP_Session::recv(NET_Packet* pPacket)
{
	return  pPacket->recv(this->get_UDP_Socket());
}

int UDP_Session::send(NET_Packet* pPacket, bool bIC)
{
	if(pPacket==NULL)
		return 0;
	if(bIC)
	{
		this->mark_index(pPacket);
		return  pPacket->send_to(this);
	}
	else
	{
		int ret = pPacket->send_to(this);
		if(pPacket->getIC()==IC_NULL)
		{
			delete(pPacket);
		}
		return ret;
	}
}



bool UDP_Session::PushSendPacket(NET_Packet* ptr_packet)
{
	return m_ptr_net_socket->PushSendPacket(m_uid, ptr_packet);
}


bool UDP_Session::RunTransfersThread()
{
//	if(false==m_thread_pool.RunThread("recv_thread", thread_TCP_recv, this))
//		return false;
//	if(false==m_thread_pool.RunThread("send_thread", thread_UDP_send, this))
//		return false;
	if(false==m_thread_pool.RunThread("check_connect_thread", thread_check_connect, this))
		return false;

	return true;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?