u011412588
anonymous_03
采纳率100%
2016-03-23 08:58

qt创建SOCKET编译报错

已采纳

图片说明为什么用QT在windows下创建SOCKET套接字会报错,是不是编译器的问题啊,找来找去找不到问题啊。。。。。求大神相助,网络编程新手,还有就是我已经确定包含了WS2_32.lib

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • tax10240809163com slowlytalk 5年前

    QString hostip = "192.168.168.113";
    qint16 port = 8000;
    psocket = new QTcpSocket;
    psocket->connectToHost( QHostAddress( hostip ), port );

    点赞 评论 复制链接分享
  • qq423399099 小灸舞 5年前

    将变量的申明放在一个函数块的头部,好像改成这样就好了

     int sock_send()
    {
        WSADATA WSAdata;
        WORD ver;
        SOCKET st;
        struct sockaddr_in addr;
        WSAStartup(ver, &WSAdata);
        st = socket(AF_INET, SOCK_DGRAM, 0);
        memset(&addr, 0, sizeof(addr));
        addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
        addr.sin_family = AF_INET;
        addr.sin_port = htons(8080);
        return 0;
    }
    
    点赞 1 评论 复制链接分享
  • qq423399099 小灸舞 5年前

    试了下楼主的代码,在我的电脑上是能跑的,楼主要不删了build-XXXX-XX-XX文件夹,重新生成一下试试

     #include <WinSock2.h>
    int sock_send()
    {
        WSADATA WSAdata;
        WORD ver;
        WSAStartup(ver, &WSAdata);
        SOCKET st = socket(AF_INET, SOCK_DGRAM, 0);
        struct sockaddr_in addr;
        memset(&addr, 0, sizeof(addr));
        addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
        addr.sin_family = AF_INET;
        addr.sin_port = htons(8080);
        return 0;
    }
    
    点赞 评论 复制链接分享

为你推荐