基于tcp协议的网络聊天室.doc

基于tcp协议的网络聊天室.doc

ID:49849785

大小:260.00 KB

页数:11页

时间:2020-03-03

基于tcp协议的网络聊天室.doc_第1页
基于tcp协议的网络聊天室.doc_第2页
基于tcp协议的网络聊天室.doc_第3页
基于tcp协议的网络聊天室.doc_第4页
基于tcp协议的网络聊天室.doc_第5页
资源描述:

《基于tcp协议的网络聊天室.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于tcp协议的网络聊天室青岛科技人学信息科学技术学院实验报告蒋栋学号:班级:软件113姓名:1108050328成绩:实验名称:基于TCP的网络聊天室1.实验日的:掌握TCP通讯协议、掌握QTcpSocket2.实验内容:使用Qt的QtcpSocket实现简单的网络聊天程序,范例如图:网络聊天室■客户端X离开聊天室包括拂去其程序和客户端程序,服务端程序可以创建一个聊天室,客户端程序可以输入登陆的用户名、服务器地址以及使用的端口号,然后进入聊天室,聊天室屮的每一位用户均可以看见发布的信息。1.实验方法:使用Qt的QtcpSocket,参考Q

2、t网络编程实验。2.实验过程tcpServer端代码:^include"dialog,h"#include〃ui_dial()g.h"青岛科技人学信息科学技术学院实验报告Dialog::Dialog(QWidget*parent):QDialog(parent),ui(newUi::Dialog)Iui->setupUi(this);ui->lineEdit->setText(“8010");port二8010;Dialog::"Dialog(){deleteui;}voidDialog::on_newchat_clicked(){serv

3、er二newServer(this,port);cormect(server,SIGNAL(updateServor(QString,int)),this,SLOT(updateServer(QString,int)));ui->newchat->setEnabled(false);}voidDialog::updateServer(QStringmsg,intlength){ui->listWidget->addltem(msg.left(length));}tcpServer端server,cpp代码:#inelude"server.h

4、〃#includeServer::Server(QObject*parent,intport):QTcpServer(parent)listen(QIIostAddress::Any,port);}voidServer::incomingConnection(intsocketDescriptor){TcpclientSocket*tcpClientSocket二newTcpclientSocket(this);connect(tcpClientSocket,SIGNAL(updatedient(QString,in

5、t)),this,SLOT(updatedient(QString,int)));connect(tcpClientSocket,SIGNAL(disconnected(int)),this,SLOT(slotDisconnectecl(int)));tcpClientSocket->setSocketDescriptor(socketDescriptor);青岛科技人学信息科学技术学院实验报告tcpClientSocketList.append(tcpClientSocket);}voidServer::updateClient(QStr

6、ingmsg,intlength){emitupdateServer(msg,length);for(inti=0;i〈tcpClientSocketList・count.();i++){QTcpSockct*itom=tcpClicnt.SockctList・at(i);if(item-〉write(msg.toLatinl(),length)'^length){continue;};voidServer::slotDisconnected(intdescriptor)for(inti二0;i

7、unt();i++){QTcpSocke二tcpClientSocketList.at(i);if(item->socketDescriptor()二二descriptor){tcpClientSocketList・reinovcAt(i);return;}}return;}Tcpclicnt端代码:#include"dialog.h〃#inelude,zui_dialog.h,z#ineludeDialog::Dialog(QWidget*parent):QDialog(parenl),ui(newUi::Dia

8、log)Iui->setupUi(this);ui->lincEdit4-〉sctText(“8010");status二false;serverIP二newQllostAddr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。