各位看官们,大家好,上一回中咱们说的是socket属性的例子,这一回咱们说的例子是socket通信。闲话休提,言归正转。让我们一起talk C栗子吧!
看官们,我们在前面章回中介绍了socket的基本概述,这一回中我们将介绍如何使用socket来实现两个进程之间的通信。为了方便大家理解socket通信的方式,我们把通信的双方分别称作客户端和服务器端。大家都知道,套接字有两种类型:流套接字和数据报套接字。不同类型的套接字,通信的方式也不同,本章回中我们先介绍流套接字的通信方式,数据报套接字的通信方式将在后面章回中进行介绍。
下面是客户端和服务器端实现通信的详细步骤:
客户端实现通信的步骤
- 1.创建客户端套接字(socket);
- 2.设置客户端套接字的属性:域,类型和协议;
- 3.使用客户端套接字和服务器进行连接(connect);
- 4.连接成功后,通过操作客户端套接字来实现客户端与服务器的通信(read,write,send,recv);
- 5.释放套接字,断开客户端与服务器端的通信(close,shutdown);
服务器端实现通信的步骤
- 1.创建服务器端套接字(socket);
- 2.设置服务器端套接字的属性:域,类型和协议;
- 3.把服务器端的套接字和服务器的地址绑定在一起,本质上是在指定服务器端的通信进程(bind);
- 4.服务器端创建套接字队列,为通信做好准备,开始监听客户端发来的通信连接请求(listen);
- 5.服务器端接受客户端发来的连接请求,并且获得与客户端匹配的socket(accept);
- 6.连接成功后,通过操作步骤5中获得的套接字来实现客户端与服务器的通信(read,write,send,recv);
- 7.释放套接字,断开服务器端与客户端的通信(close,shutdown);
在上面的步骤中,我们把每个步骤中需要使用到的系统调用都列出来了,它们位于括号中。括号中大部分的系统调用大家可能还不了解,或者是第一次见到,大家不用担心,我们在后面的章回中会介绍这些系统调用。不过,括号中的系统调用也有我们熟悉的,比如我们在前面章回中介绍过的read,write。
各位看官,关于socket通信的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。
时间: 2024-10-08 00:51:22