套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。
一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。
套接字是通信的基石,是支持TCP/IP协议的路通信的基本操作单元。
可以将套接字看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。
套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序),各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。
Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连进程。
通信时其中一个网络应用程序将要传输的一段信息写入它所在主机的 Socket中,该 Socket通过与网络接口卡(NIC)相连的传输介质将这段信息送到另外一台主机的 Socket中,使对方能够接收到这段信息。
Socket是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。
类型
1、数据报套接字
无连接套接字,使用用户数据报协议(UDP)。在数据报套接字上发送或接收的每个数据包都单独寻址和路由。数据报套接字不能保证顺序和可靠性,因此从一台机器或进程发送到另一台机器或进程的多个数据包可能以任何顺序到达或可能根本不到达。在数据报套接字上发送广播可能需要特殊配置。
为了接收广播数据包,数据报套接字不应该绑定到特定地址,尽管在某些实现中,当数据报套接字绑定到特定地址时也可能接收广播数据包。
2、流套接字
面向连接的套接字,使用传输控制协议(TCP)、流控制传输协议(SCTP) 或数据报拥塞控制协议(DCCP)。流套接字提供了无记录边界的有序且独特的无错误数据流,并具有用于创建和销毁连接以及报告错误的明确定义的机制。
流套接字以带外功能可靠地、有序地传输数据。在 Internet 上,流套接字通常使用 TCP 实现,以便应用程序可以使用 TCP/IP 协议在任何网络上运行。
3、原始套接字
允许直接发送和接收 IP 数据包,无需任何特定于协议的传输层格式。对于其他类型的套接字,根据选择的传输层协议(例如 TCP、UDP)自动封装有效载荷,并且套接字用户不知道与有效载荷一起广播的协议头的存在。从原始套接字读取时,通常包含标头。
从原始套接字传输数据包时,自动添加标头是可选的。
大多数套接字应用程序编程接口(API),例如基于Berkeley 套接字的那些,支持原始套接字。Windows XP于 2001 年发布,在Winsock接口中实现了原始套接字支持,但三年后,微软出于安全考虑限制了 Winsock 的原始套接字支持。
原始套接字用于与安全相关的应用程序,如Nmap。原始套接字的一个用例是在用户空间中实现新的传输层协议。
原始套接字通常在网络设备中可用,用于路由协议,例如Internet 组管理协议(IGMP) 和开放最短路径优先(OSPF),以及用于Internet 控制消息协议(ICMP) 等事情,由ping 实用程序。
以上内容参考 百度百科-套接字
socket是什么
Socket,中文翻译为套接字,是用于网络编程的一种抽象概念,类似于人们进行交流时使用的电话或信件等通信方式。它提供了一种在应用程序之间进行通信的方式,特别是在计算机网络中,可以通过不同的协议和传输机制进行数据交换。套接字的具体实现和类型因网络协议而异,如TCP(传输控制协议)和UDP(用户数据报...
socket什么意思
socket的意思如下:1、插入,使装入插座。2、(电源)插座;(电器)插口,插孔;(人体的)窝,槽;(高尔夫插球杆的)棒头承口;(用以插入某物使其转动的)承窝,轴孔。近义词介绍:jack 表达意思:(电)插孔,插座;J牌,杰克;丝毫,一点(不);(滚木球戏中用作靶子的)小白球;抛接子游...
socket是什么意思
socket ['sɔkit]n.孔, 洞, 窝, 凹处 【解】(眼)窝, 腔, 关节窝, 胫骨关节(齿)槽;【地质】牙槽, (烛台的)烛窝;【机】承窝, 座, 套节, 轴孔; 套筒扳手 【电】插座, 插口, 管座; 接线片[匣], 穿线环
socket是什么
Socket是英文“插座”的意思,它在计算机领域中指的是一种网络编程接口。Socket技术提供了一种标准的接口,使得不同的计算机程序能够在网络上进行通信。Socket通信可以在不同的计算机之间建立网络连接,进行数据传输和通信,是实现网络通信的重要技术之一。socket 网络编程 Socket通信可以使用不同的协议,如TCP...
socket什么意思
Socket,即网络通信中的关键组件,是进程间通信的桥梁。它是一种抽象概念,允许不同计算机上的应用程序通过网络进行数据交换,实现远程通信。每个Socket可以用一个IP地址和端口号的组合来标识网络中的特定进程,如同地址一样定位通信伙伴。Socket的核心工作机制涉及建立连接、数据传输。服务器首先通过监听Socket...
Socket是什么意思?
1.socket的英文原义是“孔”或“插座”。在这里作为4BDS UNIX的进程通信机制,取后一种意思。2.所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。3.如果你是在主板上看见的话,即指架构的意思,就是平时说的多少...
socket是什么意思啊?
Socket是计算机程序中实现网络通讯的基础,它是一种抽象的概念,可以描述程序与网络间的通讯方式。在网络通讯中,Socket可以看作是客户端与服务端之间通信的“桥梁”。使用Socket可以方便地进行数据的传输和通信协议的处理。Socket的作用不仅仅局限于实现基本的通讯功能,它还可以用于实现许多高级功能,如多路...
socket是什么
Socket是一种网络通信的接口或端点。以下是详细的解释:1. Socket的基本概念 在计算机网络中,Socket是一种抽象的通信接口。它提供了一种方式,使得不同主机上的应用程序可以通过网络进行数据传输。简单来说,Socket就像是两个程序之间通信的“桥梁”或“端口”。2. Socket的工作原理 在网络通信中,每一...
socket是什么
Socket是一种网络通信的接口。以下是详细的解释:1. Socket的基本定义 Socket,常被翻译为“套接字”,是计算机网络中用于实现进程间通信的一种机制。它提供了一个通信的端点,使得不同设备或同一设备上的不同进程可以进行数据交换。在网络编程中,Socket常被用来实现诸如TCP\/IP协议等网络通信协议。2. ...
socket是什么呀
Socket是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。类型 1、数据报套接字 无连接套接字,使用用户数据报协议(UDP)。在数据报套接字上发送或接收的每个数据包都单独寻址和路由。数据报套接字不能保证顺序和可靠性,因此从一台机器或进程发送到另一台机器或进程的多个数据包可能以任何...