套接字
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、异步:此种方式与同步相反,它不会处于阻塞状态,而是调用发送或接收的方法后直接返回,继续执行下面的语句
以上是关于套接字的主要内容,如果未能解决你的问题,请参考以下文章