套接字

Posted 吴悟无

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了套接字相关的知识,希望对你有一定的参考价值。

 

1、定义:源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。

2、包含网络通信的5种必须信息:连接使用的协议,本地主机ip地址,本地进程端口号,远程主机ip地址,远程主机进程端口号

3、分类:

A、流套接字:流套接字用于提供面向连接、可靠的数据传输服务,因为它使用的是tcp协议。

B、数据包套接字:数据报套接字提供了一种无连接的服务,因为它使用的是udp协议

C、原始套接字:允许对较低层次的协议直接访问,比如ip、icmp协议。

原始套接字与标准套接字(A和B)的区别在于:原始套接字可以读写内核没有处理的IP数据包,而流套接字只能读取TCP协议的数据,数据报套接字只能读取UDP协议的数据。因此,如果要访问其他协议发送数据必须使用原始套接字

4、通信过程:要通过Internet进行通信,至少需要一对套接字,clientsocket and serversocket,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。

5、套接字处理数据方式:

A、同步:通过Socket进行连接、接收、发送数据时,客户机和服务器在接收到对方响应前会处于阻塞状态,即一直等到收到对方请求才继续执行下面的语句,所有只适用于少量数据处理

B、异步:此种方式与同步相反,它不会处于阻塞状态,而是调用发送或接收的方法后直接返回,继续执行下面的语句

 

以上是关于套接字的主要内容,如果未能解决你的问题,请参考以下文章

原始套接字

将套接字资源转换为流套接字

简述Socket(套接字)通信

套接字与套接字编程

如何确定打开的套接字是 TCP 还是 unix 域套接字?

套接字编程简介: IPV4套接字地址结构/ 通用套接字地址结构/ IPV6套接字地址结构