其他分享
首页 > 其他分享> > 初学Socket笔记

初学Socket笔记

作者:互联网

 Socket是由IP地址和端口结合的,提供向应用层进程传送数据包的机制是支持TCP/IP协议的路通信的基本操作单元.

上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口

 

分类

1.流套接字(SOCK_STREAM)

  流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议.

 

2.数据报套接字(SOCK_DGRAM)

 

  数据报套接字提供一种无连接的服务。该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复,且无法保证顺序地接收到数据。数据报套接字使用UDP( User DatagramProtocol)协议进行数据的传输。由于数据报套接字不能保证数据传输的可靠性,对于有可能出现的数据丢失情况,需要在程序中做相应的处理.
3.原始套接字(SOCK_RAW)   原始套接字与标准套接字(标准套接字指的是前面介绍的流套接字和数据报套接字)的区别在于:原始套接字可以读写内核没有处理的IP数据包,而流套接字只能读取TCP协议的数据,数据报套接字只能读取UDP协议的数据。因此,如果要访问其他协议发送的数据必须使用原始套接.
   
流程 1.服务器监听:指服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态   2.客户端请求:指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端接字提出连接请求   3.连接确认:指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,就会响应客户端套接字的请求,建立一个新的线程,并把服务器端套接字的描述发送给客户端。一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,接收其他客户端套接字的连接请求
     

 

标签:服务器端,笔记,报套,初学,接字,客户端,数据,连接,Socket
来源: https://www.cnblogs.com/Knight02/p/14933958.html