首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

用QT写的socket程序,客户端出现连接异常

2013-08-01 
用QT写的socket程序,客户端出现连接错误利用Qt编写了一个视频显示的客户端界面,想通过socket进行服务器与

用QT写的socket程序,客户端出现连接错误
利用Qt编写了一个视频显示的客户端界面,想通过socket进行服务器与客户端的的通信,现在测试时客户端的connect与服务器不能连接,导致通信的失败。主要是利用一个线程创建socket(windows下),用的tcp协议,调用的是c库里相关socket函数。代码如下:
void Thread::newConnect()
{
    socketfd = socket(AF_INET,SOCK_STREAM,0);
    if(socketfd < 0)
    {
        qDebug()<<"socket error";
       return;
    }
    memset(&addr,0,sizeof(addr));
    addr.sin_family = AF_INET;
    addr.sin_port = htonl(8000);
    addr.sin_addr.s_addr = inet_addr("192.168.1.10");
    

    char buf[1024];
    memset(buf , 0 , sizeof(buf));
    if(::connect(socketfd,(struct sockaddr*)&addr,sizeof(addr)) < 0);
    {
        qDebug()<<"connect error";
        return;
    }
    recv(socketfd,buf,sizeof(buf),0);
    //printf("%s\n",buf);
    QString message;
    message = buf;
    qDebug()<<message;

}
编译执行的结果:
Starting E:\qt\demo1\debug\demo1.exe...
connect error 

请各位大虾帮我指点指点,不胜感谢  Qt socket
[解决办法]
addr.sin_port = htonl(8000);

是不是该用htons
[解决办法]
都用Qt了,直接QTcpSocket呗
[解决办法]
1  确保你的服务端是已经运行状态
2  对于端口网络字节hots(port);  ip地址为inet_addr("192.168.1.10");

[解决办法]
实习三天然后自己在公司学了3天socket……坑爹啊,应该是htons(8000)出错了。。。请问你实现了多个客户端连接进来没?上头说让我实现50个以上连接。。。

热点排行