在学习之余,因为一个小项目,需要用到网络编程TCP/IP的方式来连接到服务器端的数据库中。所以便在网上看了一些教材和帖子,学习了一下,但是还是有一些问题在此讨论讨论。
Socket是个什么东西大家就都知道了,我就不去复制粘贴啦。那咱首先介绍什么呢?咱来介绍一下socket编程的头文件
socket编程中需要用到的头文件
sys/types.h:数据类型定义
sys/socket.h:提供socket函数及数据结构
netinet/in.h:定义数据结构sockaddr_in
arpa/inet.h:提供IP地址转换函数
netdb.h:提供设置及获取域名的函数
sys/ioctl.h:提供对I/O控制的函数
sys/poll.h:提供socket等待测试机制的函数
但是有个问题出现了,我在Windows的编译环境下复制了上述头文件却报错了:C:\Users\14246\Desktop\server-sql.c [Error] sys/socket.h: No such file or directory。
这是为什么呢?因为这是在Linux下编译的时候的头文件,也就是说我的服务器是centos7的操作系统,那么可以用上述的头文件。但是我现在是在Windows下写的客户端,所以找不到该头文件的路径。
那该咋办呢?把上述头文件换成:#include <winsock.h> 或者 #include <winsock2.h> 。但是本人还没试验,所以大家可以试试。
头文件讲完了,那讲一讲socket编程常用的一些API函数:
①socket()函数:此函数用于创建一个Socket的描述符,这个描述符说明了此次使用的协议。后面的其他函数会调用这个描述符来作为参数;
int socket(int domain, int type, int protocol)
第一个参数是协议域 :