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

📄 protocol.cpp

📁 视频监控vc源代码.对于做视频系统的朋友们很有帮助
💻 CPP
字号:
#ifdef _NEW_PROTOCOL_

#include "protocol.h"
#include <iostream>
using namespace std;

void printCode(unsigned int i){
	switch(i){

	case OPEN_MEETING_CHANNEL: std::cout<<"打开会议信道";break;
	case CLOSE_MEETING_CHANNEL: std::cout<<"关闭会议信道";break;
	case OPEN_VIDEO_CHANNEL: std::cout<<"打开视屏信道";break;
	case CLOSE_VIDEO_CHANNEL: std::cout<<"关闭视屏信道";break;

	case LOGIN: std::cout<<"登陆";break;
	case LOGINSUCCEED: std::cout<<"登陆成功";break;
	case LOGINFAIL: std::cout<<"登陆失败";break;
	case GETUSERINFO: std::cout<<"请求得到用户信息";break;
	case USERINFO: std::cout<<"用户信息";break;
	case ALIVE: std::cout <<"ALIVE";break;
	case LOGOUT: std::cout<<"退出登陆";break;
	case LOGOUTSUCCEED: std::cout<<"退出登陆成功";break;
	case LOGOUTFAIL: std::cout<<"退出登陆失败";break;

	case VIDEO: std::cout<<"视频信息";break;
	case AUDIO: std::cout<<"音频信息";break;
	case TEXT: std::cout<<"文字信息";break;
	case CLASSIFIEDDATA: std::cout<<"分类信息";break;
	case REQUESTUSERLIST: std::cout<<"请求用户列表指令";break;
	case USERLIST: std::cout<<"用户列表";break;
	case CREATEMEETING: std::cout<<"创建会议";break;
	case CREATEMEETINGSUCCEED: std::cout<<"创建会议成功";break;
	case CREATEMEETINGFAIL: std::cout<< "创建会议失败";break;
	case REMOVEMEETING: std::cout<<"删除会议";break;
	case REMOVEMEETINGSUCCEED : std::cout <<"删除会议成功";break;
	case REMOVEMEETINGFAIL : std::cout << "删除会议失败";break;
	case REQUESTCLASSIFIEDDATA : std::cout <<"请求某类信息";break;
	case UNREQUESTCLASSIFIEDDATA : std::cout << "取消请求某类信息";break;
	case REQUESTCLASSIFIEDDATASUCCEED : std::cout << "请求某类信息成功";break;
	case REQUESTCLASSIFIEDDATAFAIL : std::cout <<"请求某类信息失败";break;
	case UNREQUESTCLASSIFIEDDATASUCCEED : std::cout << "取消请求某类信息成功";break;
	case UNREQUESTCLASSIFIEDDATAFAIL : std::cout << "取消请求某类信息失败";break;
	case JOINMEETING : std::cout << "加入会议";break;
	case LEAVEMEETING : std::cout <<"离开会议";break;
	case JOINMEETINGSUCCEED : std::cout <<"加入会议成功";break;
	case LEAVEMEETINGSUCCEED : std::cout <<"离开会议成功";break;
	case JOINMEETINGFAIL : std::cout <<"加入会议失败";break;
	case LEAVEMEETINGFAIL : std::cout << "离开会议失败";break;
	case REQUESTMEETINGLIST : std::cout<<"请求会议列表";break;
	case MEETINGLIST : std::cout<<"会议列表";break;
	case SETMEETINGPWD : std::cout<<"设定会议密码";break;
	case SETMEETINGNAME : std::cout<<"设定会议名";break;
	case SETMEETINGDISCRIPTION : std::cout<<"设定会议描述";break;
	case SETMEETINGPWDSUCCEED : std::cout<<"设定会议密码成功";break;
	case SETMEETINGNAMESUCCEED : std::cout<<"设定会议名成功";break;
	case SETMEETINGDISCRIPTIONSUCCEED : std::cout<<"设定会议描述成功";break;
	case SETMEETINGPWDFAIL : std::cout<<"设定会议密码失败";break;
	case SETMEETINGNAMEFAIL : std::cout<<"设定会议名失败";break;
	case SETMEETINGDISCRIPTIONFAIL : std::cout<<"设定会议描述失败";break;
	case GETMEETINGINFO : std::cout<<"请求会议信息";break;
	case MEETINGINFO : std::cout<<"会议信息";break;
	case SETADMIN : std::cout<<"设定管理员";break;
	case SETFIXSRC : std::cout<<"设定固定转发源";break;
	case SETSHIELDED : std::cout<<"设定过滤源";break;
	case SETADMINSUCCEED : std::cout<<"设定管理员成功";break;
	case SETFIXSRCSUCCEED : std::cout<<"设定固定转发源成功";break;
	case SETSHIELDEDSUCCEED : std::cout<<"设定过滤源成功";break;
	case SETADMINFAIL : std::cout<<"设定管理员失败";break;
	case SETFIXSRCFAIL : std::cout<<"设定固定转发源失败";break;
	case SETSHIELDEDFAIL : std::cout<<"设定过滤源失败";break;
	case KICKUSER : std::cout<<"踢人";break;
	case KICKUSERSUCCEED : std::cout<<"踢人成功";break;
	case KICKUSERFAIL : std::cout<<"踢人失败";break;
	case ADDFIXMSGTYPE : std::cout<<"添加固定转发信息";break;
	case DELFIXMSGTYPE : std::cout<<"删除固定转发信息";break;
	case ADDFIXMSGTYPESUCCEED : std::cout<<"添加固定转发信息成功";break;
	case DELFIXMSGTYPESUCCEED : std::cout<<"删除固定转发信息成功";break;
	case ADDFIXMSGTYPEFAIL : std::cout<<"添加固定转发信息失败";break;
	case DELFIXMSGTYPEFAIL : std::cout<<"删除固定转发信息失败";break;
	case PTOPMSG : std::cout << "点对点消息";break;
	}
	std::cout << std::endl;
}

void printmeetingmsg(SMeetingMsg *msg,int i){
	if((msg->wType<1000)||(msg->wType>1057))return;
	if(i){
		std::cout << "客户端:" << std::endl;
	}else{
		std::cout << "服务器:" << std::endl;
	}
	std::cout << "指令名: ";
	printCode(msg->wType);
	std::cout << "用户ID: " << msg->dwUserID << std::endl;
	std::cout << "会议ID: " << msg->dwMeetingID << std::endl;
	std::cout << "被动用户:" << msg->dwPassUserID << std::endl;
	std::cout << "附加数据类型:";
	printCode(msg->wDataType);
	std::cout << "附加数据长度:" << msg->wDataLength << std::endl;

	if( (msg->wType==MEETINGLIST) || (msg->wType == USERLIST)){
		SDataList* dlist = new SDataList;
		memcpy(dlist,msg->data,sizeof(SDataList));
		std::cout << "附加数据: " << std::endl;
		std::cout << "共        " << dlist->page_total << "页\n";
		std::cout << "第        " << dlist->page << "页\n";
		std::cout << "大小:     " << dlist->page_size << std::endl;
		for(size_t i=0;i<dlist->page_size;i++){
			std::cout << "          " << dlist->data[i] << std::endl;
		}
		delete dlist;
	}else{
//		std::cout << "附加数据: " << msg->data << std::endl;
	}
	std::cout << std::endl;
}

void printloginmsg(SLoginMsg *msg,int i){
	if(i){
		std::cout << "客户端:" << std::endl;
	}else{
		std::cout << "服务器:" << std::endl;
	}
	std::cout << "指令名: ";
	printCode(msg->wType);
	std::cout << "用户ID: " << msg->dwUserID << std::endl;
	std::cout << "用户密码:" << msg->userPWD << std::endl;
	std::cout << "IP:" << msg->addr_a << std::endl;
	std::cout << "PORT:" << msg->addr_b << std::endl;
	if(msg->wType==USERINFO){
		SUserInfo userinfo;
		memcpy(&userinfo,msg->userinfo,sizeof(SUserInfo));
		std::cout << "用户名:" << userinfo.cName << std::endl;
	}
}

void printgeneralmsg(SGeneralMsg *msg,int i){
	if(i){
		std::cout << "客户端:" << std::endl;
	}else{
		std::cout << "服务器:" << std::endl;
	}
	std::cout << "指令名: ";
	printCode(msg->type);
}

#endif //_NEW_PROTOCOL_

⌨️ 快捷键说明

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