socket是什么呀

socket是什么呀

套接字(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的意思如下:
1、插入,使装入插座。
2、(电源)插座;(电器)插口,插孔;(人体的)窝,槽;(高尔夫插球杆的)棒头承口;(用以插入某物使其转动的)承窝,轴孔。

近义词介绍:jack
表达意思:(电)插孔,插座;J牌,杰克;丝毫,一点(不);(滚木球戏中用作靶子的)小白球;抛接子游戏;<非正式>男人,普通人;法获取,偷窃;用起重器举(或)顶;增加,提高(水平、质量、物价、工资等)。

词性:通常在句中既可以作名词,也可以作动词。
固定搭配:jack in停止;辞掉;放弃;破坏服务器安全的行为。
例句:Jack threw in the odd encouraging comment.

杰克难得加了一句鼓励的话。

socket是什么意思?

socket(也叫套接字)最初是在Unix系统上开发的**通信的接口。后来微软等公司将它移植到了windows下,当然原来unix系统下的还是好用的。

对于socket可以这样理解:它就是一个函数库,里面包括大量的函数和相应的数据结构,已经实现好了。

它支持**通信。程序开发人员可以通过阅读相关的函数文档,了解函数的使用方法,进行**的编程。两种形式的socket:流式套接字,对应与TCP协议。数据报套接字,对应与UDP协议。

socket什么意思?

socket()是函数。
socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。

如果协议protocol未指定(等于0),则使用缺省的连接方式。

相关信息:
SOCK_STREAM 提供有序的、可靠的、双向的和基于连接的字节流,使用带外数据传送机制,为Internet地址族使用TCP。
SOCK_DGRAM 支持无连接的、不可靠的和使用固定大小(通常很小)缓冲区的数据报服务,为Internet地址族使用UDP。
SOCK_STREAM类型的套接口为全双向的字节流。对于流类套接口,在接收或发送数据前必需处于已连接状态。

用connect()调用建立与另一套接口的连接,连接成功后,即可用send()和recv()()传送数据。当会话结束后,调用closesocket()。带外数据根据规定用send()和recv()来接收。

© 版权声明