专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

socket是什么意思,简述Socket(套接字)通信

来源:小嗨整编  作者:小嗨  发布时间:2023-03-02 03:29
摘要:socket是什么意思,简述Socket(套接字)通信所谓Socket就是套接字,套接字就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地...

socket是什么意思,简述Socket(套接字)通信

所谓Socket就是套接字,套接字就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。

一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。

socket是什么意思,简述Socket(套接字)通信

一、Socket(套接字)简介:

Socket(套接字)是通信的基石,是支持TCP/IP协议的路通信的基本操作单元。可以将Socket(套接字)看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。Socket(套接字)存在于通信域中,通信域是为了处理一般的线程通过Socket(套接字)通信而引进的一种抽象概念。Socket(套接字)通常和同一个域中的Socket(套接字)交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序),各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。

Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个Socket(套接字)都有其类型和一个与之相连进程。通信时其中一个网络应用程序将要传输的一段信息写入它所在主机的 Socket(套接字)中,该 Socket(套接字)通过与网络接口卡(NIC)相连的传输介质将这段信息送到另外一台主机的 Socket(套接字)中,使对方能够接收到这段信息。 Socket(套接字)是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。

二、Socket(套接字)表达方式:

Socket(套接字)=(IP地址:端口号),套接字的表示方法是点分十进制的lP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点(即两个套接字)所确定。

例如:如果IP地址是210.37.145.1,而端口号是23,那么得到套接字就是(210.37.145.1:23)。

socket是什么意思,简述Socket(套接字)通信

三、Socket(套接字)的主要类型:

1.流套接字(SOCK_STREAM)

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

2.数据报套接字(SOCK_DGRAM)

数据报套接字提供一种无连接的服务。该服务并不能保证数据传输的可靠性,数据有可能在传输过程中丢失或出现数据重复,且无法保证顺序地接收到数据。数据报套接字使用UDP( User DatagramProtocol)协议进行数据的传输。由于数据报套接字不能保证数据传输的可靠性,对于有可能出现的数据丢失情况,需要在程序中做相应的处理。

3.原始套接字(SOCK_RAW)

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

四、Socket(套接字)的工作流程:

要通过互联网进行通信,至少需要一对套接字,其中一个运行于客户端,我们称之为 Client Socket,另一个运行于服务器端,我们称之为 Server Socket。

根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:

服务器监听

socket是什么意思,简述Socket(套接字)通信

客户端请求

socket是什么意思,简述Socket(套接字)通信

连接确认

1.服务器监听

所谓服务器监听,是指服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。

2.客户端请求

所调客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端接字提出连接请求。

3.连接确认

所谓连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,就会响应客户端套接字的请求,建立一个新的线程,并把服务器端套接字的描述发送给客户端。一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,接收其他客户端套接字的连接请求。

五、Socket(套接字)的特点:

根据套接字的不同类型,可以将套接字调用分为面向连接服务和无连接服务。

面向连接服务的主要特点如下:

(1)数据传输过程必须经过建立连接、维护连接和释放连接3个阶段;

(2)在传输过程中,各分组不需要携带目的主机的地址;

(3)可靠性好,但由于协议复杂,通信效率不高。

面向无连接服务的主要特点如下:

(1)不需要连接的各个阶段;

(2)每个分组都携带完整的目的主机地址,在系统中独立传送;

(3)由于没有顺序控制,所以接收方的分组可能出现乱序、重复和丢失现象;

(4)通信效率高,但可靠性不能确保。


本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/907220.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小嗨整编
相关文章相关阅读
  • 如何在ThinkPHP6中使用腾讯云IM进行实时通信操作?

    如何在ThinkPHP6中使用腾讯云IM进行实时通信操作?

    随着互联网和移动互联网的快速发展,实时通信技术已经成为了许多应用中不可或缺的一环。而腾讯云im(即即时通信im)作为国内领先的实时通讯平台之一,其功能和性能也得到了广泛的认可。本文将介绍如何在thinkphp6框架中使用腾讯云im进行实时通...

  • socket error 10054怎么解决

    socket error 10054怎么解决

    解决方法:1、检查网络连接,确保网络连接正常,没有断开或中断;2、检查服务器状态,确认服务器端是否正常运行,并且没有关闭或重启;3、优化网络设置,调整网络设置以提高连接的稳定性和可靠性;4、更新软件版本,确保使用的软件版本是最新的,并且修复...

  • 什么是通信?

    什么是通信?

    通信,指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递,从广义上指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法,任意媒质,将信息从某方准确安全地传送到另方。通信在不同的环境下有不同的解释,在出现电波传递通信后通信(C...

  • 进程间通信的方式有哪些

    进程间通信的方式有哪些

    进程间通信的方式有:1、管道通常指无名管道,是unix系统ipc最古老的形式;2、fifo,是一种文件类型;3、消息队列,是消息的链接表,存放在内核中;4、信号量,是一个计数器;5、共享内存。本文操作环境:Windows7系统,DellG...

  • 通信协议有哪几种

    通信协议有哪几种

    通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接...

  • 云南移动通信网上营业厅,云南移动推出网上自助服务,快速便捷办理业务

    云南移动通信网上营业厅,云南移动推出网上自助服务,快速便捷办理业务

    1.云南移动通信网上营业厅的概念随着互联网技术的快速发展,互联网已经成为人们日常生活中不可或缺的一部分。为了满足广大客户的实际需求,云南移动推出了网上营业厅,方便客户随时随地进行查询和业务办理。通过云南移动通信网上营业厅,用户可以自主办理...

  • 网灵一号,网灵一号:中国首颗自主设计的高轨通信卫星

    网灵一号,网灵一号:中国首颗自主设计的高轨通信卫星

    网灵一号:中国首颗自主设计的高轨通信卫星1.网灵一号的背景与意义中国航天事业的快速发展,使得我国的航天技术日益成熟,并且在国际上越来越有说服力。作为国家科技创新能力的体现,自主研发和制造高性能卫星已成为了我国航天事业未来发展的主要目标之一...

  • 内蒙古移动通信网上营业厅,内蒙古移动网上营业厅使用指南

    内蒙古移动通信网上营业厅,内蒙古移动网上营业厅使用指南

    1.什么是内蒙古移动通信网上营业厅?内蒙古移动通信网上营业厅是一个在线的移动业务管理平台,它提供了一系列的服务,包括账户查询、缴费、充值、申请业务办理、购买产品等等。用户只需要在电脑或手机上登录网上营业厅,即可方便快捷地处理各种业务。2.怎...

  • 周排行
  • 月排行
  • 年排行

精彩推荐