美文网首页
初识socket

初识socket

作者: 清水芦苇 | 来源:发表于2017-05-06 08:29 被阅读18次

首先声明哦,
它和websocket完全是两个概念。websocket是一个全双工通讯协议。而socket是作为进程通讯机制而存在的,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。

下面这段文字摘抄自segmentfault中的一个答案(我觉得还挺通俗易懂的):

socket 在操作系统里面是一个文件描述符, 和普通的文件的文件描述符一样,可以通过系统调用 read(), write()进行读取和写入数据.
每一个socket 其实有几个重要的参数, 本机ip,本机port,对端ip,对端port,以及协议等, 这几个通常要是unique的, 操作系统才不会把socket 和 socket 之间搞混.
服务器端的程序,一般会把socket 和某一个ip,port 端口bind 起来, 这样构成了一个特殊的socket, 这个socket 没有对端ip和对端port, 只有本机ip和本机port.
你可以把这个socket 看成是一个特殊的文件(好比登记表), 当有新的连接进来的时候, 都可以通过 accept 系统调用让操作系统接受一个新的连接, 同时返回一个新的socket, 这个socket 是绑定在(本机ip,本机port,对端ip,对端port) 这个上面的, 也就是对应了一个unique的连接.
然后你可以拿着这个新产生的socket 进行写入和读取等操作(因为它是一个文件描述符). 那个用来listen的socket 和这个新的socket 是不相关的,在操作系统内部也是分开的,会有各自的缓冲区等.

待读文章

  1. 简单理解Socket

相关文章

  • 初识socket

    首先声明哦,它和websocket完全是两个概念。websocket是一个全双工通讯协议。而socket是作为进程...

  • 初识socket

    每当想写文章就想百度一下,百度之后发现socket比预想的要复杂。 socket定义:中文名套接字,网络上的两个程...

  • 初识Socket

    一、什么是Socket? 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket...

  • 【网络基础】初识Socket

    写在前面 由于最近业务需要,代码里很多网络相关的网络相关的知识点都是自己不会的。于是狠狠的有针对性的恶补了一波。...

  • python29-socket初识

    本篇文章主要讲的是socket基本操作。包括网络通信三要素、TCP三次握手以及socket通信流程等。希望感兴趣的...

  • Socket进阶4之初识UDP

    UDP是什么 英语:User Datagram Protocol,缩写为UDP一种用户数据报协议,又称用户数据报文...

  • socket模块网络编程

    socket()类# socket语法socket(socket_family, socket_type, pro...

  • 2019-12-06--客户端

    import socket#引入socket模块 client=socket.socket()#生成socket连...

  • Python Socket 编程

    Socket创建函数 socket.socket(socket_family, socket_type, prot...

  • python socket 编程

    Socket创建函数 socket.socket(socket_family, socket_type, prot...

网友评论

      本文标题:初识socket

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