明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 3576|回复: 3
打印 上一主题 下一主题

双网口通信问题

[复制链接]

11

主题

28

帖子

103

积分

注册会员

Rank: 2

积分
103
跳转到指定楼层
楼主
发表于 2017-7-31 10:50:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我板子有双网口:             网口1(ip地址为192.168.1.10)连接运动控制卡(ip地址为192.168.100);
             网口2(ip地址为192.168.1.11)连接采集卡(ip地址为192.168.1.111)。
    那么在qt中qsocket定义的变量:socket = new QTcpSocket-----如何通过哪个函数将其挷定到网口2的ip地址192.168.1.11以便通过函数 socket->connectToHost(192.168.1.111,port)和采集卡通信。


回复

使用道具 举报

0

主题

17

帖子

62

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
62
沙发
发表于 2017-7-31 16:32:46 | 只看该作者
你是用Qt4还是用Qt5?
回复 支持 反对

使用道具 举报

11

主题

28

帖子

103

积分

注册会员

Rank: 2

积分
103
板凳
 楼主| 发表于 2017-7-31 16:38:14 | 只看该作者
我用的是Qt5
回复 支持 反对

使用道具 举报

0

主题

17

帖子

62

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
62
地板
发表于 2017-7-31 17:13:32 | 只看该作者
客户端的主要代码:
QTcpSocket TcpSocket_Send;
    TcpSocket_Send.connectToHost(QHostAddress(IP),7891);
    IsConnect = TcpSocket_Send.waitForConnected(6000);
    if(!IsConnect)  {
        emit Disconnect();
        return;
    }

服务器端的主要代码:
    ServerSocket = new QTcpServer;
    ServerSocket->listen(QHostAddress::Any,7891);
    connect(ServerSocket,SIGNAL(newConnection()),this,SLOT(NewConnectionHandle()));


void Widget_Receive::NewConnectionHandle()
{
    ReceiveSocket = ServerSocket->nextPendingConnection();
    connect(ReceiveSocket,SIGNAL(readyRead()),this,SLOT(ReadTcpData()));  
     CountSpeedTimer->start(1000);
}

void Widget_Receive::ReadTcpData()
{
    QByteArray ByteArray = ReceiveSocket->readAll();
    TotalRcvByte += ByteArray.size();

}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-11-23 18:46 , Processed in 0.059412 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表