前言 “百思特网IP地址 网络协议 端口”的整合百思特网就称为套接字(Socket)
目录一、描述
二、连接过程
三、总结
四、补充
五、思维导图
一、描述 1、套接字(Socket):
- “IP地址 网络协议 端口”的整合;
- 可以说,套接字就是在纵横交错的网络通信中,区分不同应用程序进程间的网络通信和连接的一套关键字 。
2、套接字(Socket)包含了进行网络通信必须的五种信息:
- 连接使用的协议
- 本地主机的IP地址
- 本地进程的协议端口
- 远程主机的IP地址
- 远程进程的协议端口
二、连接过程
1、服务器监听:
- 是指服务端套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态;
- 服务端会创建一个可用的套接字,用到domain, type, protocol;
- 调用bind函数把套接字和套接字地址绑定;
- 其中有一个listen函数,初始化创建的套接字,可以认为是一个“主动”套接字;
- 连接建立之后,操作系统内核和应用程序之间的桥梁会用到accept函数 。
2、客户端请求:
- 是由客户端的套接字提出连接请求,要连接的目标是服务端套接字;
- 会用到connect函数完成,需要用到的参数有:连接套接字、套接字地址结构的指针、套接字地址结构的大小 。
3、连接确认:
- 是当服务器端套接字监听到或者说接收到客户端套接字的连接请求时;
- 它就相应客户端套接字的请求,建立一个新的线程;
- 把服务端套接字的信息发送给客户端;
- 一旦客户端确认此连接,连接即可建立 。
三、总结
- 套接字(Socket):“IP地址 网络协议 端口”的整合就称为套接字(So百思特网cket) 。可以说,套接字就是在纵横交错的网络通信中,区分不同应用程序进程间的网络通信和连接的一套关键字 。
- 套接字(Socket)包含了进行网络通信必须的五种信息 。
- 套接字之间的连接过程可以分为以下三个步骤:服务器监听、客户端请求、连接确认 。
- 服务器通过创建socket,bind,listen完成初始化,通过accept完成连接建立 。
- 客户端通过创建socket,connect发起连接建立请求 。
四、补充 如果是TCP套接字,那么调用connect函数将激发TCP的三次握手过程,而且仅在连接建立成功或出错时才返回 。
其中出错返回可能有以下几种情况:
- 客户端发出的SYN没有任何响应,返回TIMEOUT错误:常见于对应的服务端IP写错 。
- 客户端收到RST回答,这时客户端立即返回CONNECTION REFUSED错误:常见于客户端发送链接请求时的请求端口写错 。
- 客户端发出的SYN包在网络上引起“destination unreachable”,即目的不可达:常见于客户端和服务器之间路由不通 。
五、思维导图
【socket网络连接异常是什么意思 socket是什么意思】
推荐阅读
- dataexplorer是什么意思 width是什么意思
- 寒的正确写法 寒冷的寒怎么写
- 什么是交流电源 什么叫做直流电源
- 闪闪发光类似的成语 闪闪发光的近义词
- 电子烟对人体的危害有多大?一文全给你说清楚
- 油耗怎么算?我告诉你最准确的计算方法
- wifi已连接不可上网是什么原因?4个小窍门轻松搞定
- 起点为上海,终点为西藏 318国道起点和终点
- 十只兔子谁是凶手??十只兔子原版被删掉了三句话