码迷,mamicode.com
首页 > 编程语言 > 详细

一起talk C栗子吧(第一百四十七回:C语言实例--socket通信一)

时间:2016-05-13 04:12:41      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:


各位看官们,大家好,上一回中咱们说的是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通信的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。


一起talk C栗子吧(第一百四十七回:C语言实例--socket通信一)

标签:

原文地址:http://blog.csdn.net/talk_8/article/details/51336013

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!