python3利用Socket实现通信的方法示例

下面我来为你详细讲解“python3利用Socket实现通信的方法示例”的完整攻略。

什么是Socket?

Socket,又称套接字,是计算机网络中两个程序间的通信机制。它定义了连接的概念,即通信的两个端点之间的一种通用的数据传输方式。

Socket有两种类型,分别为TCP和UDP。TCP(Transmission Control Protocol)是一种面向连接的协议,即在通信中两个应用程序必须先建立一条可靠的连接才能进行数据传输,保证数据传输的完整性和可靠性;而UDP(User Datagram Protocol)是一种无连接的协议,即发送数据前不需要先建立连接,数据包也不具有可靠性和序列号,只关心是否发送成功。

Python3利用Socket实现通信的方法示例

1. TCP通信示例

服务器端代码

import socket

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建TCP Socket

ip_port = ('localhost', 8888)  # 设置IP和端口号

server.bind(ip_port)  # Socket绑定IP和端口号

server.listen(5)  # 开始监听,最大等待数为5

while True:
    conn, addr = server.accept()  # 接收客户端连接请求
    print(f'Connected from {addr}')  # 打印客户端的IP地址和端口号
    conn.send(b'Welcome!')  # 向客户端发送欢迎信息
    conn.close()  # 关闭连接

客户端代码

import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建TCP Socket

ip_port = ('localhost', 8888)  # 设置服务器IP和端口号

client.connect(ip_port)  # 发起连接请求

data = client.recv(1024)  # 接收数据,缓冲区大小为1024字节

print(f'{data.decode()} from {ip_port}')  # 打印接收到的数据以及服务器的IP地址和端口号

client.close()  # 关闭连接

2. UDP通信示例

服务器端代码

import socket

server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # 创建UDP Socket

ip_port = ('localhost', 9999)  # 设置IP和端口号

server.bind(ip_port)  # Socket绑定IP和端口号

while True:
    data, addr = server.recvfrom(1024)  # 接收客户端发送的数据以及客户端的IP地址和端口号
    print(f"Received from {addr}: {data.decode()}")  # 打印接收到的数据以及客户端的IP地址和端口号
    server.sendto(b'Welcome!', addr)  # 向客户端发送欢迎信息

客户端代码

import socket

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # 创建UDP Socket

ip_port = ('localhost', 9999)  # 设置服务器IP和端口号

client.sendto(b'Hello, World!', ip_port)  # 向服务器发送数据

data, addr = client.recvfrom(1024)  # 接收服务器发送的数据以及服务器的IP地址和端口号

print(f'{data.decode()} from {addr}')  # 打印接收到的数据以及服务器的IP地址和端口号

client.close()  # 关闭连接

以上就是Python3利用Socket实现通信的方法示例。在实际开发中,我们可以根据需求和场景灵活选择TCP或UDP通信。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3利用Socket实现通信的方法示例 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • python 爬取京东指定商品评论并进行情感分析

    下面我将详细讲解“Python 爬取京东指定商品评论并进行情感分析”的完整攻略。 一、准备工作 在进行爬取京东评论之前,我们需要准备以下工具和库: Python 3.x版本 Requests库 BeautifulSoup库 SNownlp库 其中,Requests库和BeautifulSoup库分别用来进行网页数据的爬取和解析,SNownlp库是用来进行情感…

    云计算 2023年5月18日
    00
  • jquery ui bootstrap 实现自定义风格

    下面是关于“jquery ui bootstrap 实现自定义风格”的完整攻略,包含两个示例说明。 简介 jQuery UI Bootstrap是一种基于Bootstrap的jQuery UI主题,它提供了一种简单的方法来将jQuery UI与Bootstrap集成在一起。在本攻略中,我们将介绍如何使用jQuery UI Bootstrap来实现自定义风格,…

    云计算 2023年5月16日
    00
  • .NET 6新增的20个API介绍

    下面我来详细讲解“.NET 6新增的20个API介绍”的完整攻略。 1. 前言 在.NET 6中,添加了许多新的API,这些API覆盖了不同的领域,可以更容易地开发不同类型的Web和桌面应用程序。本文将向您介绍.NET 6中新增的20个API。 2. 新增的20个API 2.1. HttpClientJsonExtensions 在.NET 6中,为HTTP…

    云计算 2023年5月17日
    00
  • python实现生成Word、docx文件的方法分析

    下面是“Python实现生成Word、docx文件的方法分析”的完整攻略。 1. 背景介绍 在日常工作中,我们经常需要生成一些文档,如报告、合同、简历等。使用Word、docx等格式的文档是比较常见的。Python语言可以通过一些库来快速生成这些文档,本文就围绕这个主题来进行讲解。 2. 相关库介绍 目前,针对生成Word、docx文件的Python库比较多…

    云计算 2023年5月18日
    00
  • 深度解析Django REST Framework 批量操作

    深度解析Django REST Framework 批量操作 1. 什么是Django REST Framework? Django REST Framework是Django的一个第三方应用,为Django应用提供了一套完整而强大的RESTful API开发工具。Django REST Framework的主要特点包括: 渲染器和解析器支持多种文件格式(如…

    云计算 2023年5月18日
    00
  • 阿里云腰斩CDN行业价格 推透明一体化解决方案

    阿里云腰斩CDN行业价格 推透明一体化解决方案攻略 阿里云是中国领先的云计算服务提供商,其CDN(内容分发网络)服务在行业内占据重要地位。最近,阿里云宣布将腰斩CDN行业价格,并推出透明一体化解决方案,以提高服务质量和用户体验。本文将详细讲解阿里云腰斩CDN行业价格和透明一体化解决方案的攻略,包括方案的特点、使用方法和示例说明等。 1. 方案特点 阿里云腰斩…

    云计算 2023年5月16日
    00
  • 云钉一体加速,阿里云计算巢与钉钉深度融合、共建应用新生态

    ​简介:云合计划再升级,“云钉一体”战略按下加速键。 1月13日,阿里云宣布云合计划再升级,计算巢与钉钉深度融合互通,实现一键上云、一键上钉钉,助力软件厂商更快地完成技术升级,更好地专注于自身的产品创新和客户服务,为“云钉一体”战略按下加速键。 ​ 【图:云钉一体阿里云计算巢整合策略发布会】阿里巴巴集团副总裁、阿里云销售管理与生态发展部总经理郭继军在阿里云计…

    云计算 2023年4月12日
    00
  • 边缘计算+云计算,实现物联网的关键

      边缘计算+云计算,实现物联网的关键   云计算和边缘计算正在塑造物联网(IoT)的未来。这种组合为物联网网络中连接的设备带来了稳定性,并通过处理更接近源的数据来解决延迟问题。   云计算明显改变了数据处理的形式,特别是对于大数据。利用云的计算能力,物联网实现了跨越式发展,我们获得,存储和处理数据,而不必配置计算资源和管理。   物联网每年安装数十亿台智能…

    2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部