我们在数据传输时,能够仅仅使用(传输层)TCP/IP协议,可是那样的话,假设没有应用层。便无法识别数据内容,假设想要使传输的数据有意义。则必须使用到应用层协议,应用层协议有非常多,比方HTTP、FTP、TELNET等。也能够自定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

1)Socket是一个针对TCP和UDP编程的接口,你能够借助它建立TCP连接等等。

而TCP和UDP协议属于传输层 。

而http是个应用层的协议,它实际上也建立在TCP协议之上。

(HTTP是轿车。提供了封装或者显示数据的详细形式;Socket是发动机。提供了网络通信的能力。

)

2)Socket是对TCP/IP协议的封装。Socket本身并非协议,而是一个调用接口(API)。通过Socket,我们才干使用TCP/IP协议。

Socket的出现仅仅是使得程序猿更方便地使用TCP/IP协议栈而已。是对TCP/IP协议的抽象,从而形成了我们知道的一些最主要的函数接口。

SOCKET
API和TCP STATE的相应关系__三次握手(listen,accept,connect)__四次挥手close及TCP延迟确认(调用一次setsockopt函数,设置TCP_QUICKACK)__长连接API小心“窜包”问题

05-28 18:41