一起talk C栗子吧(第一百四十七回:C语言实例--流socket通信过程)
来源:互联网 发布:面膜纸 知乎 编辑:程序博客网 时间:2024/04/29 08:18
各位看官们,大家好,上一回中咱们说的是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通信过程的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。
0 0
- 一起talk C栗子吧(第一百四十七回:C语言实例--流socket通信过程)
- 一起talk C栗子吧(第一百四十八回:C语言实例--数据报socket通信过程)
- 一起talk C栗子吧(第一百四十九回:C语言实例--socket通信接口一)
- 一起talk C栗子吧( 第一百五十回:C语言实例--socket通信接口二)
- 一起talk C栗子吧(第一百四十五回:C语言实例--socket概述)
- 一起talk C栗子吧(第一百四十六回:C语言实例--socket属性)
- 一起talk C栗子吧(第一百五十五回:C语言实例--获取socket通信地址)
- 一起talk C栗子吧( 第一百四十回:C语言实例--文件操作:基于文件描述符三)
- 一起talk C栗子吧(第一百四十三回:C语言实例--文件操作:基于文件指针三)
- 一起talk C栗子吧(第一百五十一回:C语言实例--socket通信地址)
- 一起talk C栗子吧(第一百四十一回:C语言实例--文件操作:基于文件指针一)
- 一起talk C栗子吧(第一百四十二回:C语言实例--文件操作:基于文件指针二)
- 一起talk C栗子吧(第一百五十三回:C语言实例--socket通信地址系统调用一)
- 一起talk C栗子吧(第一百五十四回:C语言实例--socket通信地址系统调用二)
- 一起talk C栗子吧(第一百六十回:C语言实例--套接字通信模型一)
- 一起talk C栗子吧(第一百三十七回:C语言实例--查看环境变量)
- 一起talk C栗子吧(第一百六十四回:C语言实例--const关键字)
- 一起talk C栗子吧(第一百六十六回:C语言实例--大小写字符转换)
- Java千百问_06数据结构(009)_void是什么
- S5PV210--/sys/class/gpio/gpiochipN 中N对于的pin及管理数量
- Avtivity 知识点,不断更新中
- 《java入门第一季》之面向对象(接口收尾)
- iOS三方库:xmpp下的xml数据解析及修改上传
- 一起talk C栗子吧(第一百四十七回:C语言实例--流socket通信过程)
- 如何隐藏APP名字
- http编程
- NSURLConnectionDelegate NSURLConnectionDataDelegate
- [Lesson Learn] LeetCode #3 Longest Substring Without Repeating Characters
- iOS 拨打电话三种方式总结
- PHP内核探索:新垃圾回收机制说明
- android源码settings中显示所有正在运行进程流程分析
- 寻找二维矩阵里的一个数