Socket

什么是TCP/IP协议族

在了解TCP和UDP之前,我们先了解TCP/IP协议族,首先这个协议族的的由来,在一开始很多电脑表达一个消息的方法可谓是多种多样,因为它们运行着完全不同的操作系统,这就像有不同口音,说不同语言的人聚在了一起一样,语言的不通使得他们没有办法在一起合作。

面向连接和面向无连接套接字

之前我们提到了流式套接字和数据报式套接字,在介绍中,我们说到了流式套接字是面向连接的套接字,数据报套接字是面向无连接的套接字。那么面向连接的和面向无连接的套接字有什么区别呢?举个例子简单地说明面向连接就像有一条管道连接着发送端和接收端,数据包都通过这条管道来传输。

htos和htol函数:主机序转换到网络序

在网络传输过程中,一定会涉及到主机序和网络序的问题,即本机的存储和网络的传输是完全两套存储方式,我们保证不了目标主机的字节序是否和网络序一致,因此一定要考虑这个问题,这里介绍常用的两个函数htos和htol函数,使主机序转换到网络序1.htos函数:函数功能:将主机无符号短整形数转换成网络,

Socket编程之connect函数

这一节我们讲connect连接,这一步位于客户端的第二步,调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;函数功能:向服务端发起连接请求头文件:#include<winsock2.h>函数原型:intconnect(intsockcd,

ntohl和ntohs函数:网络序转换到主机序

有主机序转网络序,就有网络序转主机序,分别是ntohl和ntohs函数,接下来为大家讲解这两个函数。1.ntohl函数函数功能:将一个无符号短整型数从网络字节顺序转换成主机字节顺序。这个函数与htons原理相同,不过是htos是主机序到网络序,而ntohs是网络序到主机序。

Sockaddr_in和Sockaddr的区别

sockaddr和sockaddr_in都是结构体,并且它们的功能都是用来处理网络通信的地址。网络中的地址主要有3个方面的属性:1、地址类型例如是互联网协议第四版(ipv4)和互联网协议第六版(ipv6)。2、IP地址,主要有5类分别是A类:(1.0.0.0-126.0.0.0),

Socket编程之send函数

与是recv一样,有收就会有发,发送内容对应send函数,也是从服务端accept后或客户端connect后就可以用的函数,其说明如下:函数功能:发送服务端或客户端的数据头文件:#include<winsock2.h>函数原型:intsend(intaID,

Socket编程之socket函数

如下图所示,是Socket通信的原理图,左侧为服务端,右侧是客户端,可以看到服务端的步骤要多一些,客户端将在后面讲解。本节开始将从左侧服务端第一步开始逐步讲解,本步骤目标为创建一个套接字,其返回值为后面的步骤使用。下面我们开始正式进入Socket通信的第一步,