QT使用winsocket

QT自带network模块提供网络功能,这里介绍QT下如何使用winsocket来开发网络程序。


在项目工程文件中配置

LIBS += -lws2_32

在源代码文件中添加头文件引用

#include 

然后编写源代码

WSADATA wsadata;
    WSAStartup(0x202, &wsadata);
 
  
    SOCKET sockt = socket(AF_INET, SOCK_STREAM, 0);
 
  
    struct sockaddr_in serv_addr;
    memset(&serv_addr, 0x00, sizeof(struct sockaddr_in));
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
    serv_addr.sin_port = htons(21);
 
  
 
  
 
  
    int rc = 0;
    rc = ::connect(sockt, (struct sockaddr*)&serv_addr, sizeof(struct sockaddr_in));
    if (rc < 0)
    {
        qDebug() << "error";
    }
    else
    {
        qDebug() << "success";
    }

这里唯一需要注意的地方就是connect函数前面的全局域操作符。


你可能感兴趣的:(----QT)