socket 之 socket是神马

什么是socket?
Socket接口是TCP/IP网络的API
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

套接字一般分为三种类型:
流式套接字(SOCK–STREAM):该类套接字提供了面向连接的、可靠的、数据无错并且无重复的数据发送服务。而且发送的数据是按顺序接收的。所有利用该套接字进行传递的数据均被视为连续的字节流的并且无长度限制。这对数据的稳定性、正确性和发送/接受顺序要求严格的应用十分适用,TCP使用该类接口。
数据报式套接字(SOCK–DGRAM):数据报式套接字提供了面向无连接的服务,不提供正确性检查,也不保证各数据包的发送顺序,因此,可能出现数据的重发、丢失等现象,并且接收顺序由具体路由决定。然而,与流式套接字相比,使用数据报式套接字对网络线路占用率较低。在TCP月P协议组中,UDP使用该类套接字。
原始套接字(SOCK–RAw):该套接字一般不会出现在高级网络接口的现中,因为它是直接针对协议的较低层(如IP、TcP、UDP等)直接访问的。用于检验新的协议实现或访问现有服务中配置的新设备,使用原始套接字存在络应用程序的兼容性问题,所以一般不推荐使用原始套接字。

socket在tcp/ip中的位置
socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
socket 之 socket是神马

socket运行流程图
socket 之 socket是神马

如果觉得文章真心好, 请打赏下我吧,程序员赚钱不容易。 一块两块不嫌多, 一分两分也是爱啊!
socket 之 socket是神马

参考:http://www.cnblogs.com/dolphinX/p/3460545.html