美文网首页
套接字(socket)

套接字(socket)

作者: 疯帮主 | 来源:发表于2017-11-26 17:32 被阅读0次
源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。
其用于标识客户端请求的服务器和服务。
它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:
 1. 连接使用的协议
 2. 地主机的IP地址
 3. 本地进程的协议端口
 4. 远地主机的IP地址
 5. 远地进程的协议端口

套接字是 20 世纪 70 年代加利福尼亚大学的伯克利版本 UNIX (称为 BSD UNIX)的一部分。
因此,有时你可能会听过将套接字称为伯克利套接字或 BSD 套接字。
套接字最初是为同一主机上的应用程序所创建,
使得主机上运行的一个序(又名一个进程) 与另一个运行的程序进行通信。
就是所谓的进程间通信 (Inter Process Communication,IPC) 。
有两种类型的套接字:基于文件的和面向网络的。

地址家族(address family,AF):

  • AF_UNIX == AF_LOCAL UNIX 套接字,BSD套接字
  • AF_INET IPv4套接字
  • AF_INET6 IPv6套接字
  • AF_NETLINK 使用标准的BSD套接字接口进行用户级别和内核级别代码之间的IPC
  • AF_TIPC 透明的进程间通信

可以在/etc/services 文件中找到预留端口号的列表 (以及服务器/协议和套接字类型) 。

  • 有连接的套接字:TCP == SOCK_STREAM
    面向连接的通信提供序列化的、可靠的和不重复的数据交付,而没有记录边界。
    这基本上意味着每条消息可以拆分成多个片段,并且每一条消息片段都确保能够到达目的地,
    然后将它们按顺序组合在一起,最后将完整消息传递给正在等待的应用程序。
    
  • 无连接的套接字:UDP == SOCK_DGRAM
    在通信开始之前并不需要建立连接。
    在数据传输过程中并无法保证它的顺序性、可靠性或重复性。
    为什么还使用数据报呢?它的成本更加“低廉” 。
    

相关文章

  • iOS 原生Socket和CocoaAsyncSocket框架的

    一、Socket到底是什么? 1、Socket原理 1.1、套接字(Socket)概念 套接字(Socket)是通...

  • day19

    socket套接字 socket又叫套接字,实现网络通信的python通过提供socket标准库来支持socket...

  • 2018-09-12 day18网络编程

    1.socket套接字 socket又叫套接字,就是进行数据通信两端。分为服务端套接字和客户端套接字 套接字编程:...

  • Socket

    Socket socket是套接字,多指传输层网络接口。 Socket和SocketServer是基于套接字的服务...

  • Python基础语法-3

    socket套接字使用流程:1.创建套接字2.使用套接字收/发数据3.关闭套接字 创建一个TCP socket 创...

  • Socket 网络编程(一)

    Socket Socket,又称“套接字”,应用程序通常通过“套接字”向网络发出请求或应答网络请求。 Socket...

  • CocoaAsyncSocket --Socket学习

    Socket理论 套接字(Socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信...

  • iOS 网络(三)-Socket

    一、Socket原理 1.套接字(Socket)概念 套接字(Socket)是通信的基石,是支持TCP/IP协议的...

  • 网络通信-----Socket

    Socket:又称套接字,底层要建立连接通道,通过套接字建立连接,向网络发出应答或请求 套接字(socket)是通...

  • 浅谈Linux C Socket编程

    Socket socket类型 流格式套接字(SOCK_STREAM) 数据报格式套接字(SOCK_DGRAM) ...

网友评论

      本文标题:套接字(socket)

      本文链接:https://www.haomeiwen.com/subject/exzkbxtx.html