• 5721阅读
  • 2回复

关于QTcpSocket的问题!!请大家帮忙!!谢谢!! [复制链接]

上一主题 下一主题
离线winterlxd
 

只看楼主 倒序阅读 楼主  发表于: 2008-10-20
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
描述一下问题:
一个简单的C/S程序,客户端连接服务端
客户端相关代码:(下面的backList是主窗体中的一个列表控件,返回连接信息!)
QTcpSocket sock;
QString SERV_IP = options.value(QString("SERVER/IPAddr")).toString();
qint16 SERV_PORT = options.value(QString("SERVER/PORT")).toInt();
       
sock.connectToHost(SERV_IP, SERV_PORT);
       
if(!sock.waitForConnected(3000))
{
        backList -> addItems(QStringList()
    << tr("")
    << tr("与服务器端建立连接失败!%1").arg(sock.errorString())
    );
    sock.close();
    QMessageBox::information(0,tr("注意"),tr("请检查服务器端是否开启!"));
    return;
}
else
{
        backList -> addItems(QStringList()
    << tr("")
    << tr("与服务器端已经建立连接...")
    << tr("")
    );   
}   

服务器程序是用C写的。
理想情况下,这样连接服务器时,服务器就会打印出客户端的地址。
但实际运行时,服务器除了打印客户端地址外,还会多打印两个乱码:d V)

这是什么原因??服务器代码应该没有问题!                           
离线chaoscxm
只看该作者 1楼 发表于: 2008-10-20
服务器打印代码的问题吧,tcp/ip发送过去,服务器接收到的客户端地址是从tcp头中读出来的,是tcp/ip协议层来实现的,与客户端无关。
帖子签名(将在每个帖子下方显示)
离线lanfe
只看该作者 2楼 发表于: 2008-10-20
变量打印多了乱码,应该是你变量最后一个字节值不对吧。
快速回复
限100 字节
 
上一个 下一个