Socket编程之closesocket函数 一旦决定要停止通信,就要关闭套接字,释放资源,则需要调用closesocket函数进行其函数介绍如下:函数功能:与socket函数功能相反关闭套接字头文件:#include<winsock2.h>函数原型:intclosesocket(intaID);返回值类型:整型参数说明:aID为接收客户端请求的 TCP协议服务端及代码实现 2022年05月04日 228 点赞 0 评论 58859 浏览
Socket类型有哪些 在通过对Socket的简单介绍后,我们来看一下Socket都有哪些类型。比较常用的类型包括:流式套接字(使用TCP),数据报套接字(UDP),原始套接字等等。我们主要会用到:流式套接字SOCK_STREAM和数据报套接字SOCK_DGRAM。 Socket概述 2022年05月04日 156 点赞 0 评论 122683 浏览
Socket编程之socket函数 如下图所示,是Socket通信的原理图,左侧为服务端,右侧是客户端,可以看到服务端的步骤要多一些,客户端将在后面讲解。本节开始将从左侧服务端第一步开始逐步讲解,本步骤目标为创建一个套接字,其返回值为后面的步骤使用。下面我们开始正式进入Socket通信的第一步, TCP协议服务端及代码实现 2022年02月10日 169 点赞 0 评论 81274 浏览
htos和htol函数:主机序转换到网络序 在网络传输过程中,一定会涉及到主机序和网络序的问题,即本机的存储和网络的传输是完全两套存储方式,我们保证不了目标主机的字节序是否和网络序一致,因此一定要考虑这个问题,这里介绍常用的两个函数htos和htol函数,使主机序转换到网络序1.htos函数:函数功能:将主机无符号短整形数转换成网络, TCP协议客户端及代码实现 2022年02月07日 150 点赞 0 评论 97754 浏览
Socket编程之WSAStartup函数 上一节我们介绍了客户端与服务端相互通信的模型图,每一步都有具体的函数实现,但需要明白的是,使用这些函数之前,在Windows系统下,需要先调用WSAStartup函数进行必要的初始化,才可以顺利的进行,而使用WSAStartup函数又需要事先包含对应的头文件winsock2.h及静态库ws2_32.l TCP协议服务端及代码实现 2022年04月14日 254 点赞 0 评论 110138 浏览
Socket编程之WSACleanup函数 一旦程序结束需要停止Socket库的使用,需要调用WSACleanup函数,这一步和最开始的WSAStartup是对应的。函数功能用于终止对So:cket字库的使用。库链接:#pragmacomment(lib,"ws2_32.lib")表示链接Ws2_32.lib这个库。 TCP协议服务端及代码实现 2022年02月24日 94 点赞 0 评论 101407 浏览
面向连接和面向无连接套接字 之前我们提到了流式套接字和数据报式套接字,在介绍中,我们说到了流式套接字是面向连接的套接字,数据报套接字是面向无连接的套接字。那么面向连接的和面向无连接的套接字有什么区别呢?举个例子简单地说明面向连接就像有一条管道连接着发送端和接收端,数据包都通过这条管道来传输。 Socket概述 2022年05月26日 183 点赞 0 评论 98546 浏览
Socket编程之bind函数 在完成第一步创建套接字,分配了一个Socket描述符后,服务端的第二步就是使用在这个描述符用Bind绑定Bind()系统调用的主要用处:1.服务器向系统注册它的众所周知的地址。面向连接和无连接的服务器在接受客户的请求之前都必须做这一步。2.客户可为自己注册一个特定的地址, TCP协议服务端及代码实现 2022年02月12日 228 点赞 0 评论 132557 浏览
ntohl和ntohs函数:网络序转换到主机序 有主机序转网络序,就有网络序转主机序,分别是ntohl和ntohs函数,接下来为大家讲解这两个函数。1.ntohl函数函数功能:将一个无符号短整型数从网络字节顺序转换成主机字节顺序。这个函数与htons原理相同,不过是htos是主机序到网络序,而ntohs是网络序到主机序。 TCP协议客户端及代码实现 2022年01月08日 160 点赞 0 评论 88970 浏览
Socket服务端完整参考代码 前面讲解了Socket通信中服务端的每一步功能作用及实现,而重点是多个步骤在一起时,上下文函数之间的信息传递需要我们理解,如SOCKADDR_IN的结构体、各个SOCKET描述符等参数,以及在此基础之上改进得到的希望的实际效果(如需要不停的接受消息、发送消息)下面我们将所有步骤串联在一起, TCP协议服务端及代码实现 2022年02月13日 139 点赞 0 评论 104822 浏览