码迷,mamicode.com
首页 > 其他好文 > 详细

什么是socket ??

时间:2015-07-29 22:57:00      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

 

socket起源于Unix, 而Unix/Linux基本哲学之一就是"一切皆文件", 都可以用"打开open -> 读写write/read -> 关闭close" 模式来操作. 我的理解就是socket就是该模式的一个实现, socket即是一种特殊的文件, 一些socket函数就是对其进行的操作 (读/写IO, 打开, 关闭),

我们在传输数据时, 可以只使用(传输层) TCP/IP 协议, 但是那样的话, 如果没有应用层, 便无法识别数据内容, 如果想要使传输的数据有意义, 则必须使用到应用层协议, 应用层协议有很多, 比如 HTTP, FTP, TELNET等, 也可以自己定义应用层协议, WEB使用HTTP协议做应用层协议, 以封装HTTP文本信息, 然后使用TCP/IP做传输层协议将它发到网络上.

(1)socket是一个针对TCCP和UDP编程的接口, 你可以借助它建立TCP连接等等, 而TCP和UDP协议协议属于传输层, 而HTTP是个应用层的协议, 它实际上也建立在TCCP协议之上. HTTP是轿车, 提供了封装或者显示数据的具体形式, socket本身是发动机, 提供了网络通信的能力.

(2)socket是对TCP/IP协议的封装, socket本身并不是协议, 而是调用接口(API), 通过socket, 我们才能使用TCP/IP协议的抽象, 从而形成了我们知道的一些最基本的函数接口.

 

什么是socket ??

标签:

原文地址:http://www.cnblogs.com/Cheetah-yang/p/4687589.html

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