QT如何运用TCP/IP协议与VC程序通信 30

现在有一个数据通过某个接口发出,想用QT接收。现在我们已经开发出一个接口(是用vc开发的,C++写的),这个接口的作用就是将数据按照TCP/IP的协议,绑定一个Socke... 现在有一个数据通过某个接口发出,想用QT接收。
现在我们已经开发出一个接口(是用vc开发的,C++写的),这个接口的作用就是将数据按照TCP/IP的协议,绑定一个Socket(运用Windows Sockets API)然后发出。
所以此处数据相当于TCP/IP的客户端。
端口号:2345
IP:127.0.0.1
数据形式:NOM+VALEUR
或者是EVE

现在想做一个QT应用程序来接收这个数据(相当于服务器端),应该如何编写这个QT程序啊。。在网上找了一个。。本人0基础C++开始学习= =可是不是很懂。。麻烦哪位大侠帮我看看吧。。在此先谢谢啦。。O(∩_∩)O

定义
#define TCPSOCKET_MAX 3

声明private变量
QTcpServer *tcpServer;
QList<QTcpSocket*> tcpSocketList;

声明public slots:
public slots:
void recv_slot();
void connect_slot();

//启动TCP服务
void MainWindow::on_pushButton_3_clicked()
{
int tcpServerPort = ui->tcpServerPortText->text().toInt();
//声明TCP服务
this->tcpServer = new QTcpServer(this);
//监听
if(tcpServer->listen(QHostAddress::Any,tcpServerPort))
{
ui->pushButton_3->setEnabled(false);
ui->pushButton_4->setEnabled(true);
}
//设置槽
connect(tcpServer,SIGNAL(newConnection()),this,SLOT(connect_slot()));

}

//TCP服务连接事件
void MainWindow::connect_slot()
{

if(tcpSocketList.count() <= TCPSOCKET_MAX)
{
QTcpSocket *tcpSocket = tcpServer -> nextPendingConnection();
connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(recv_slot()));
tcpSocketList.append(tcpSocket);
}
}

//TCP接收事件
void MainWindow::recv_slot()
{
for(int i=0 ; i<tcpSocketList.count() ; i++)
{
QByteArray byte;
QTcpSocket *tcpSocket=tcpSocketList.at(i);
byte = tcpSocket -> readAll();
QString result = printByteArr(byte);
if(result.length()>0)
addLog("tcp rev:" +tcpSocket->peerAddress().toString()+":"+ result);

tcpSocket->write(strToQByteArray(result.mid(0,16)+ "17 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"));
}

}

//关闭TCP服务
void MainWindow::on_pushButton_4_clicked()
{
tcpServer->close();
ui->pushButton_3->setEnabled(true);
ui->pushButton_4->setEnabled(false);
}
展开
 我来答
王瑞0702
2011-06-01
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
cp ip协议中 TCP 跟IP 具体作用 TCP是主机到主机层的协议,它负责从上层获得数据为之分段、编号、排序。而且使用确认机制,窗口机制,保障了数据的安全传送。就像是邮局的人邮寄包裹的过程! IP是因特网层协议,负责查看数据包的IP地址,并且通过路由表网络寻址,寻找数据到目的主机的最佳路径。
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
百度网友d80606b10
2011-06-07 · TA获得超过194个赞
知道答主
回答量:111
采纳率:0%
帮助的人:31.6万
展开全部
文件传输协议 和因特网层协议
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式