您的位置:首页 > 运维架构 > Linux

Linux C Socket编程原理及简单实例

2016-02-17 20:04 387 查看


Linux C Socket编程原理及简单实例

转自:http://www.cnblogs.com/xudong-bupt/archive/2013/12/29/3483059.html
1. 什么是TCP/IP、UDP?
2. Socket在哪里呢?
3. Socket是什么呢?
4. 有很多的框架,为什么还在从Socket开始?
5. Linux C Socket简单示例

1.什么是TCP/IP、UDP?
  TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。

  UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是属于TCP/IP协议族中的一种。

  下面的图表明了这些协议的关系。



2.Socket在哪里呢?



3.Socket是什么呢?
  Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
  门面模式,用自己的话说,就是系统对外界提供单一的接口,外部不需要了解内部的实现。
4.有很多的框架,为什么还在从Socket开始?
  现在的跨平台网络编程框架很多,如Java的SSH,C/C++的Boost等。
  现在的分布式框架很多,如Hadoop等。
  我的任务是把一个C/C++程序做成分布式,要求的不配环境,基本属于纯计算的,结果很小。所以选择了Socket。
  重要的是Socket是分布式、云计算、网络编程的基础,对Socket的学习有利于对其他框架的理解。
  下图是Socket编程的基本流程:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: