⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net_cmd.cpp

📁 类似QQ,MSN表情的richedit,用来测试表情控件的
💻 CPP
字号:
#include "stdafx.h"
#include "net_cmd.h"
net_cmd::net_cmd()
{
	shakehandexit = false;
	WSADATA wsaData;
	if (WSAStartup(MAKEWORD(2,2),&wsaData)) //调用Windows Sockets DLL
	{ 
		WSACleanup();
		return;
	}
	pnet = NULL;
	create();
}

net_cmd::~net_cmd()
{

}


//
bool net_cmd::create()
{
	threadstart(THREAD_PRIORITY_NORMAL);
	initnet();
	return true;
}   

//发送命令数据
bool net_cmd::sendcmddata( char * databuf, int datalen,unsigned long ip,unsigned short prot)
{
	if(pnet)
	{
		pnet->senddata(databuf, datalen,ip,prot);
		return true;
	}
	return true;
}



//处理接收到的数据并产生相应消息
void net_cmd::dealrecvdata(SOCKET  socket, char *pbuf, int length, ULONG ip, USHORT port)
{
	char cmd;
	USHORT datalen;
	char  pdata[100];
	int i = 0;
	for( i = 0;i < length ; i ++)
		pdata[i] = pbuf[i];
	pdata[i] = 0;
    
	
    //获取命令数据长度,用*pdatale保存真实数据的长度 *pdata指向真实数据开始位置,cmd保存命令
	/*bool mbool = GetDataCmdandLength(pbuf, length, &datalen, &cmd, &pdata);
	if(!mbool)
		return ;

	conncetedserverinfo * pcon = findconncetedserver(ip, port);
	if(pcon == NULL)
		return ;

	int id = GetTheID(pbuf, length);//(pbuf="MTVD"+id+cmd+data.len+data)
	if(pcon->netid != id && cmd != NETCOM_LOGIN_OK)
		return ;

	switch(cmd)
	{
		case NETCOM_LOGIN_OK:
			pcon->blogin = true;
			pcon->disconnecttime = 0;
			pcon->netid = id;
			break;

		case NETCOM_SHAKE_HANDS:
			dealshakehands(pcon, datalen, (unsigned char *)pdata);//三次握手建立连接
			break;
		default:
			break;
	}	*/
	CString str;
	str = pdata;
//	AfxGetApp()->GetMainWnd()->PostMessage(SHOW_DATA,(WPARAM)pdata,ip);
	richedit.InsertText(str);
	
}


void net_cmd::initnet()
{
	pnet = new net_udp;
	if(pnet == NULL)
		return ;
	cmdsocket = pnet->create();
	if(cmdsocket == SOCKET_ERROR)
	{
		delete pnet;
		return ;
	}
	addsocket(cmdsocket, 0);  //0为upd 1为tcp
}

void net_cmd::getwnd(HWND mwnd)
{
   wnd = mwnd;
}

⌨️ 快捷键说明

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