网络编程-SOCKET-创建SOCKET-WINDOWS下socket函数声明问题

今天翻了下VC下SOCKET头文件WINSOCK2.H,又看了下socket函数的声明:

 

#if INCL_WINSOCK_API_PROTOTYPES
WINSOCK_API_LINKAGE
SOCKET
WSAAPI
socket(
    int af,
    int type,
    int protocol
    );
#endif // INCL_WINSOCK_API_PROTOTYPES

 

注意到#if INCL_WINSOCK_API_PROTOTYPES这个条件编译,通常我们是通过#if, #ifdef或者#ifndef来判断选择哪一部分来编译以及在#include时解决因为重复包含的问题。

 

但这里的#if INCL_WINSOCK_API_PROTOTYPES这个条件编译是啥意思?在WINSOCK2.H文件靠近开头的位置有有如下定义:

 

#ifndef INCL_WINSOCK_API_PROTOTYPES
#define INCL_WINSOCK_API_PROTOTYPES 1
#endif

 

也就是INCL_WINSOCK_API_PROTOTYPES始终被替换为1,那么既然为1,干嘛还需要这样一个条件?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QT socket网络编程是一种在QT框架下使用QTcpServer和QTcpSocket进行服务器和客户端通信的编程方法。首先,需要建立两个工程,一个是服务器端(server),另一个是客户端(client)。在项目的.pro文件中添加network模块,并执行qmake命令以确保能够找到socket头文件。然后,可以使用QT Designer设计界面。 在头文件中,需要包含QTcpServer和QTcpSocket的头文件,并声明相应的对象。在构造函数中,可以实例化一个QTcpSocket对象并建立连接。可以使用connectToHost方法连接到服务器的IP地址和端口号。当socket发送有内容可读的信号时,可以通过readyRead槽函数接收服务器传来的内容,并进行相应的处理。可以使用readAll方法读取所有的数据。当socket发送断开连接信号时,可以通过disconnected槽函数进行相应的处理。当socket发送连接成功信号时,可以通过connected槽函数进行相应的处理。 这样,就可以通过QT socket网络编程实现服务器和客户端之间的通信。 #### 引用[.reference_title] - *1* [qt中socket编程](https://blog.csdn.net/qq_41902325/article/details/117411471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [QT socket网络编程](https://blog.csdn.net/weixin_41302262/article/details/126743928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [QTsocket网络编程](https://blog.csdn.net/weixin_47844533/article/details/124025595)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值