下载此文档

QT中的SOCKET编程.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
QT中的Socket编程在LINUX下进行网络编程,我们可以使用LINUX提供的统一的套接字接口。但是这种方法牵涉到太多的结构体,比如IP地址,端口转换等,不熟练的人往往容易犯这样那样的错误。QT中提供的Socket完全使用了类的封装机制,使用户不需要接触底层的各种结构体操作。而且它采用QT本身的signal-slot机制,使编写的程序更容易理解。QT中共提供四个与套按字相关的类,分别是:QServerSocket:TCP-basedserverQSocket:BufferedTCPconnectionQSocketDevice:Platform-independentlow-levelsocketAPIQSocketNotifier:Supportforsocketcallbacks下面介绍使用QT进行网络编程,我们使用一个简单的C/S模式网络程序说明如何使用QT中的套接字。同时我们用TCP和UDP两种协议实现这个程序(该程序客户端与服务端各向对方发送一个字符口串“abc”)1、UDP实现UDP是不连接协议,没有客户端与服务端的概念。1)建立套接字相关对象QSocketDevice*MUReceiveSocket;//套接字对象QSocketNotifier*MSocketNotifier;//套接字监听对象2)初始化套接字相关对象MUReceiveSocket=newQSocketDevice(QSocketDevice::Datagram);//UDP初始化QHostAddressMyAddress;QStringFakeAddress;FakeAddress=get_eth1_ip();//(FakeAddress);MUReceiveSocket->bind(MyAddress,Port);//绑定到指定网络接口地址(IP),指定逻辑端口MSocketNotifier=newQSocketNotifier(MUReceiveSocket->socket(),QSocketNotifier::Read,0,"MSocketNotifier");//监听MUReceiveSocket套接字3)定义用实现响应slotvirtualvoidOnMReceive();voidClient::OnMReceive(){intByteCount,ReadCount;char*mingChar;fprintf(stderr,"LoadapieceofMessage!\n");ByteCount=MUReceiveSocket->bytesAvailable();mingChar=(char*)malloc(ByteCount+1);ReadCount=MUReceiveSocket->readBlock(mingChar,ByteCount);mingChar[ByteCount]='\0';fprintf(stderr,“%s“,mingChar);//打印接收的字符串}4)关联套接字的signal和接收slotconnect(MSocketNotifier,SIGNAL(activated(int)),this,SLOT(OnMReceive()));//当MSocketNotifier检测到MURe

QT中的SOCKET编程 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小18 KB
  • 时间2019-09-26