首页 > 其他分享 >Socket

Socket

时间:2022-10-26 08:34:30浏览次数:39  
标签:Socket ACK 握手 syn SYN 服务器 客户端

套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。

套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

 

TCP协议三个核心功能:建立连接、发送数据、接收数据

TCP协议 通过三次握手建立一个可靠的连接:

第一次握手:客户端尝试连接服务器,向服务器发送syn包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入SYN_SEND状态(发送)等待服务器确认
第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态(接受)
第三次握手:第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态(已建立连接),完成三次握手

Socket类中的核心功能 

 

标签:Socket,ACK,握手,syn,SYN,服务器,客户端
From: https://www.cnblogs.com/xinyu-yudian/p/16827043.html

相关文章

  • WebSocket连接失败
    ​  ​ 或​ 1.检查控件是否已经安装 如果没有安装,请下载安装:Word一键粘贴控件-控件包-泽优软件 注意提示窗口中的链接,   ​ 在chrome中启......
  • WebSocket的简单使用
    WebSocket的简单使用ws_ht(){leturl=window._CONFIG['wsURL']//console.log('后台WS开始连接')//实例化socketthis.socket_ht=newWe......
  • mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket
    netstat-ln|grepmysql查看mysql.sock实际路径:[root@localhostbackup]#netstat-ln|grepmysqlunix2[ACC]STREAMLISTENING62019......
  • NETCORE - Socket 通信
    NETCORE-Socket通信创建两个.net项目,一个做为服务端,一个做为客户端。项目1:NETCORE.SSocket.Server (.net6 控制台应用程序)创建socket服务类:SocketServe......
  • 使用SuperWebSocket 构建实时 Web 应用
    Web应用的信息交互过程通常是客户端通过浏览器发出一个请求,服务器端接收和审核完请求后进行处理并返回结果给客户端,然后客户端浏览器将信息呈现出来,这种机制对于信息变化不......
  • html5中播放rtsp流实现监控、直播等方案(利用Ffmpeg + node.js + websocket + flv.js实
    前提:需要确认你的服务器环境中是否安装了ffmpeg这个工具,因为转码的核心其实就是通过 ffmpeg命令 转码,需要你通过在命令行里输入 ffmpeg 来确认。   安装参考:htt......
  • GatewayWorker websocket 连接 1 分钟后自动断开原因?
    GatewayWorker配置通过nginx转发,客户端定时(每60秒)发送心跳,心跳间隔设置如下://心跳间隔$gateway->pingInterval=30;$gateway->pingNotResponseLimit=6;//心跳数据$g......
  • socket底层实现
    网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输......
  • NETCORE - WebSocket通信
    NETCORE-WebSocket通信 webscoket 通信 一般为 客户端与服务端通信,如需两个服务端通信,可把其中一个服务端模拟成客户端。项目框架 vue+.net6 创建NET6 的......
  • 基于C#的Socket网络编程
    基于C#的Socket网络编程服务端usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSyste......