91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 339KB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-09
  • 語言: 其他
  • 標簽: Qt??IM??

資源簡介

使用Qt寫的局域網聊天程序。 以GPLv3許可證發布。

資源截圖

代碼片段和文件信息

#include?“clientsocket.h“

#include?
#include?
#include?

ClientSocket::ClientSocket(Database?*dba?QMap?*idToSocketa?Qobject?*parent)?:
????QTcpSocket(parent)?nextBlockSize(0)?in(this)
{
????//初始化數據庫和idsocket映射
????db?=?dba;
????idToSocket?=?idToSocketa;
????nextBlockSize?=?0;

????in.setVersion(QDataStream::Qt_4_7);

????connect(this?SIGNAL(readyRead())?this?SLOT(readClient()));
????connect(this?SIGNAL(disconnected())?this?SLOT(deleteLater()));
}

void?ClientSocket::readClient()
{
????//????bool?sign?=?false;
????forever
????{
????????//新消息
????????if(nextBlockSize?==?0)
????????{
????????????if(bytesAvailable()?????????????????break;
????????????in?>>?nextBlockSize;
????????????//????????????sign?=?true;
????????}
????????//消息未讀完
????????if(bytesAvailable()?????????????break;
????????in?>>?msgHead;
????????qDebug()?<?????????????????<<“Message?Head:????????“?<????????????????<????????????????<<“RECIVER“?<???????????????<<“MSGTYPE:“?<??????????????<<“--------------------“?<????????msgProcessor();
????????nextBlockSize?=?0;
????}
}

QString?ClientSocket::resolve(ServerMsgType?type)
{
????switch(type)
????{
????case?REG_REQ:
????????return?“REG_REQ“;
????????break;
????case?CAG_PASSWD:
????????return?“CAG_PASSWD“;
????case?CAG_NICKNAME:
????????return?“CAG_NICKNAME“;
????case?CAG_SIGNATURE:
????????return?“CAG_SIGNATURE“;
????case?LOGIN_REQ:
????????return?“LOGIN_REQ“;
????case?LOGOUT_REQ:
????????return?“LOGOUT_REQ“;
????case?DECADDFRI_REQ:
????????return?“DECADDFRI_REQ“;
????case?DECDELFRI_REQ:
????????return?“DECDELFRI_REQ“;
????case?ANSADDFRI_REQ:
????????return?“ANSADDFRI_REQ“;
????case?REQ_UNREAD:
????????return?“REQ_UNREAD“;
????case?FRILIST_REQ:
????????return?“FRILIST_REQ“;
????case?CONV_MSG:
????????return?“CONV_MSG“;

????default:
????????return?“UNKNOWN?Message?Type!“;
????}
}

void?ClientSocket::msgProcessor()
{
????//read?Msg?Head

????//handle?msg
????switch(msgHead.msgtype)
????{
????case?REG_REQ:
????????handleRegisterMsg();
????????break;
????case?CAG_PASSWD:
????????handleUpdPasswd();
????????break;
????case?CAG_NICKNAME:
????????handleUpdNicknameMsg();
????????break;
????case?CAG_SIGNATURE:
????????handleUpdSignatureMsg();
????????break;
????case?LOGIN_REQ:
????????handleLoginMsg();???????????//在id-socket映射中加入一個記錄
????????break;
????case?LOGOUT_REQ:????????????????//在id-socket映射中刪除一個記錄
????????handleLogoutMsg();
????????break;
????case?DECADDFRI_REQ:
????????handleAddFriReqMsg();
????????break;
????case?DECDELFRI_REQ:
????????handleDelFriMsg();
????????break;
????case?ANSADDFRI_REQ:
????????handleReplyAddFriReqMsg();
????????break;
????case?REQ_UNREAD:
????????handleQueryUnreadMsg();
????????break;
????case?FRILIST_REQ:
????????handleGetFriListMsg();
????????break;
????case?CONV_MSG:
??????

評論

共有 條評論