技术文章 > Python技术 >  Python基础教程 > 正文

python套接字是什么意思?

小妮浅浅

在对于编程的学习中,除了要专注于不同语言的学习外,对于网络编程的知识也应该有所了解。提到网络通信,大家肯定会想到socket,它还有一个名称叫做套接字。本篇我们就套接字的概念、分类、参数以及用到的一些调用方法进行介绍,大家一起来学习下网络编程这方面的知识吧。

1、概念

网络编程中的一个基本组件是套接字(socket)。套接字基本上是一个信息通道,两端各有一个程序。这些程序可能位于(通过网络相连的)不同的计算机上,通过套接字向对方发送信息。在 Python 中,大多数网络编程都隐藏了模块 socket 的基本工作原理,不与套接字直接交互。

2、分类

服务器套接字和客户端套接字。创建服务器套接字后,让它等待连接请求的到来。这样,它将在某个网络地址(由 IP 地址和端口号组成)处监听,直到客户端套接字建立连接。随后,客户端和服务器就能通信了。

客户端套接字处理起来通常比服务器套接字容易些,因为服务器必须准备随时处理客户端的连接,还必须处理多个连接;而客户端只需连接,完成任务后再断开连接即可。

3、参数

套接字是模块 socket 中 socket 类的实例。实例化套接字最多可指定三个参数:一个地址族(默认为 socket.AF_INET);是流套接字(socket.SOCK_STREAM,默认设置)还是数据报套接字(socket.SOCK_DGRAM);协议(使用默认值 0 就好)。创建普通套接字时,不用提供任何参数。

4、调用方法

服务器套接字先调用方法 bind,再调用方法 listen 来监听特定的地址。然后,客户端套接字就可连接到服务器了,办法是调用方法 connect 并提供调用方法 bind 时指定的地址(在服务器端,可使用函数 socket.gethostname 获取当前机器的主机名)。这里的地址是一个格式为 (host, port) 的元组,其中 host 是主机名(如 www.example.com),而 port 是端口号(一个整数)。方法 listen 接受一个参数——待办任务清单的长度(即最多有多少个连接在队列中等待接纳,到达这个数量后开始拒绝连接)。

以上就是python套接字的基本介绍,大家在可以先就概念进行理解,然后了解其中的分类和常见用法即可,后续也会带来更多这方面的内容。

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  Python中的socket网络通信
  python如何操作socketserver
  django怎么创建websocket
  Python Socket是什么?怎么用?
  python socket模块是怎么使用?
  python如何使用socket通信传输数据?
相关视频章节
  索引和切片(上)
  数组创建和属性
  Python数据分析常用库
  高级函数(下
  高级函数(上)
作者信息
推荐视频
视频教程分类