资源简介
DT qt项目代码,基于tcp实现
代码片段和文件信息
#include “ClientDemo.h“
#include
#include
#include
ClientDemo::ClientDemo(Qobject* parent) : Qobject(parent) m_handler(NULL)
{
connect(&m_client SIGNAL(connected()) this SLOT(onConnected()));
connect(&m_client SIGNAL(disconnected()) this SLOT(onDisconnected()));
connect(&m_client SIGNAL(readyRead()) this SLOT(onDataReady()));
connect(&m_client SIGNAL(bytesWritten(qint64)) this SLOT(onBytesWritten(qint64)));
}
void ClientDemo::onConnected()
{
if( m_handler != NULL )
{
TextMessage conn(“CONN“ m_client.peerAddress().toString() + “:“ + QString::number(m_client.peerPort()));
m_handler->handle(m_client conn);
}
}
void ClientDemo::onDisconnected()
{
m_assembler.reset();
if( m_handler != NULL )
{
TextMessage dscn(“DSCN“ ““);
m_handler->handle(m_client dscn);
}
}
void ClientDemo::onDataReady()
{
char buf[256] = {0};
int len = 0;
while( (len = m_client.read(buf sizeof(buf))) > 0 )
{
QSharedPointer ptm;
m_assembler.prepare(buf len);
while( (ptm = m_assembler.assemble()) != NULL )
{
if( m_handler != NULL )
{
m_handler->handle(m_client *ptm);
}
}
}
}
void ClientDemo::onBytesWritten(qint64 bytes)
{
(void)bytes;
}
bool ClientDemo::connectTo(QString ip int port)
{
m_client.connectToHost(ip port);
return m_client.waitForConnected();
}
qint64 ClientDemo::send(TextMessage& message)
{
QByteArray ba = message.serialize();
return m_client.write(ba.data() ba.length());
}
qint64 ClientDemo::available()
{
return m_client.bytesAvailable();
}
void ClientDemo::close()
{
m_client.close();
}
bool ClientDemo::isValid()
{
return m_client.isValid();
}
void ClientDemo::setHandler(TxtMsgHandler* handler)
{
m_handler = handler;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1247 2019-06-25 15:22 ChatRoom\ChatRoom.pro
文件 23825 2019-12-25 14:32 ChatRoom\ChatRoom.pro.user
文件 2037 2019-12-25 14:27 ChatRoom\ClientDemo.cpp
文件 732 2019-07-12 17:46 ChatRoom\ClientDemo.h
文件 177 2019-06-24 11:05 ChatRoom\main.cpp
文件 1385 2019-07-12 18:58 ChatRoom\MainWin.h
文件 2157 2019-07-12 19:00 ChatRoom\MainWinSlot.cpp
文件 1934 2019-07-12 19:05 ChatRoom\MainWinUI.cpp
文件 3724 2019-06-24 11:57 ChatRoom\QLoginDialog.cpp
文件 923 2019-06-24 11:57 ChatRoom\QLoginDialog.h
文件 1288 2019-06-11 11:53 ChatRoom\TextMessage.cpp
文件 460 2019-06-11 11:53 ChatRoom\TextMessage.h
文件 2022 2019-06-11 11:58 ChatRoom\TxtMsgAssembler.cpp
文件 669 2019-06-11 11:58 ChatRoom\TxtMsgAssembler.h
文件 226 2019-06-11 14:00 ChatRoom\TxtMsgHandler.h
文件 956 2019-06-25 16:15 ChatRoomServer\ChatRoomServer.pro
文件 23873 2019-12-25 14:32 ChatRoomServer\ChatRoomServer.pro.user
文件 298 2019-06-25 16:18 ChatRoomServer\main.cpp
文件 2979 2019-12-25 14:28 ChatRoomServer\ServerDemo.cpp
文件 709 2019-06-11 14:49 ChatRoomServer\ServerDemo.h
文件 2314 2019-07-12 18:56 ChatRoomServer\ServerHandler.cpp
文件 885 2019-07-12 18:51 ChatRoomServer\ServerHandler.h
文件 1288 2019-06-11 11:53 ChatRoomServer\TextMessage.cpp
文件 460 2019-06-11 11:53 ChatRoomServer\TextMessage.h
文件 2022 2019-06-11 11:58 ChatRoomServer\TxtMsgAssembler.cpp
文件 669 2019-06-11 11:58 ChatRoomServer\TxtMsgAssembler.h
文件 226 2019-06-11 14:00 ChatRoomServer\TxtMsgHandler.h
目录 0 2019-12-25 14:32 ChatRoom
目录 0 2019-12-25 14:32 ChatRoomServer
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:DT数据结构代码 DTlib.rar
- 下一篇:Face-tracking.zip
相关资源
- DT数据结构代码 DTlib.rar
- BOS物流项目
- 对象池pool项目工程.unitypackage
- 计网rdt实验sim模拟器
- DTLZ1、DTLZ2、DTLZ3、DTLZ4、DTLZ5、DTLZ6、
- STM32智能家居项目源代码.7z
- 基于LinuxTcp聊天室的设计与实现
- Project2007项目案例MPP源文件
- 小程序蓝牙充值演示项目
- Verilog IIC ADT7420
- logo识别项目
- Struts2+Spring+Hibernate在线商城项目源代
- 以太坊和IPFS拍卖商城区块链项目实战
- SSM Maven项目分页.zip
- SSM Maven项目.zip
- TCP聊天室,客户端,服务器
- win7系统下文件夹重命名提示\“找不到
- 01 LTE_ EC20_TCP_非透传通信_v1.0.zip
- geoserver源码和geotools
- SW_DVD5_Project_Pro_2010_64Bit_ChnSimp_MLF_X16
- 信息化项目监理流程图
- stm32+modbus项目
- 《TCP/IP协议族》(第4版)部分习题解
- TCP和UDP数据包发送程序
- “互联网+”大学生创新创业大赛项目
- WinEdt V5.5 5.6 注册机
- 转换ADS1.2项目为makefile
- DTMF编码发音、捕获解码的DEMO
- IT项目管理 英文版 课后答案
- 简单struts2项目(人事管理)
评论
共有 条评论