python——网络编程

news2024/11/17 5:46:18

流程图在这里插入图片描述

面向连接的套接字

面向连接的通信提供序列化的、可靠的和不重复的数据交付,而没有记录边界。主要的协议是传输控制协议(TCP);
TCP套接字,在python中,必须使用SOCK_STREAM作为套接字类型

tcp的特点

  • 面向连接
    通过双方必须先建立好连接才能进行数据的传输
  • 可靠传输
    TCP采用发送应答机制
    超时重传
    错误校验
    流量控制和阻塞管理

python 中客户端例子

import socket

'''
在 Python 中,if __name__ == '__main__': 是一个常见的结构,用于确保某些代码只有在直接运行这个模块时才会被执行,而在这个模块被作为导入的模块时不会被执行

'''
if __name__ == '__main__':
    '''
    创建tcp 客服端套接字
    '''
    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    tcp_client_socket.connect(("10.211.55.6",9090))

    send_content = "hello,world,您好"
    send_data = send_content.encode("gbk")
    tcp_client_socket.send(send_data)

python 中服务端例子

可以支持多客户端模式

import  socket
import threading


def handler_client_request(client_socket,ip_port):
    recv_data = client_socket.recv(1024)
    if recv_data:
        print(recv_data.decode('utf-8'))
        send_content = "测试"
        client_socket.send(send_content.encode('utf-8'))
    else:
        print("客服端下线",ip_port)
    client_socket.close()


if __name__ == '__main__':

    tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    tcp_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)

    tcp_socket.bind(("",9090))

    # 128 表示最大等待建立链接的个数
    tcp_socket.listen(128)

    while True:
        new_client,ip_port = tcp_socket.accept()
        sub_thread = threading.Thread(target=handler_client_request, args=(new_client,ip_port))
        sub_thread.start()

    tcp_socket.close()



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1788541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业机器视觉系统如何实现精准检测?

机器视觉系统是指利用机器替代人眼做出各种测量和判断。一种比较复杂的系统。大多数系统监控对象都是运动物体,系统与运动物体的匹配和协调动作尤为重要,所以给系统各部分的动作时间和处理速度带来了严格的要求。在某些应用领域,例如机器人、…

C++高级 - 接口模板

目录 一. 接口 二. 模板 一. 接口 接口通常是通过抽象类或纯虚函数来实现的。 以下是一个使用抽象类来定义接口的示例代码&#xff1a; #include <iostream>class Interface { public:virtual void operation() 0; // 纯虚函数定义接口 };class ConcreteClass : pu…

网络安全||信息加解密技术以及密钥管理技术

一、信息加解密技术 对称加密 对称加密&#xff08;又称为私人密钥加密/共享密钥加密&#xff09;&#xff1a;加密与解密使用同一密钥。特点&#xff1a;加密强度不高&#xff0c;但效率高&#xff1b;密钥分发困难。&#xff08;大量明文为了保证加密效率一般使用对称加密&…

Three.js的阴影技术,创建逼真效果的必备!

three.js是一个流行的用于创建和展示3D图形的JavaScript库&#xff0c;它提供了多种阴影技术来增强3D场景的真实感和视觉效果。 一、常用阴影技术 1. 基于光线的阴影&#xff08;Raytraced Shadows&#xff09;&#xff1a;通过跟踪光线的路径来计算阴影&#xff0c;产生非常…

SylixOS网卡多 IP 配置

概述 网卡多 IP 是指在同一个网络接口上配置和绑定多个 IP 地址。 引进网卡多 IP 的目的主要有以下几个&#xff1a; 提供服务高可用性。通过在同一接口绑定多个 IP 地址&#xff0c;然后在服务端使用这些 IP 地址启动多个服务实例。这样在任意一 IP 出现问题时&#xff0c;可…

el-input实现后缀图标和clearable的兼容,调整el-input clearable与自定义图标展示位置问题

背景&#xff1a;常见的输入框存在两个图标的展示效果都是清空在前搜索或其他图标在后 常见以及最终实现效果&#xff08;清空图标在前&#xff0c;搜索图标在后&#xff09; BUG以及el-input默认效果 问题排查 通过控制台审查元素能够发现&#xff0c;默认的效果是自定义图标…

何为云防护?有何作用

云防护又称云防御。随着Internet互联网络带宽的增加和多种DDOS 黑客工具的不断发布&#xff0c;云计算越演越热&#xff0c;DDOS拒绝服务攻击的实施越来越容易&#xff0c;DDOS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素&#xff0c;导致很多IDC 托管…

避免 PostgreSQL 翻车的关键技巧

PostgreSQL 是一个功能强大的开源关系型数据库管理系统&#xff0c;它以其稳定性和高性能而受到开发者和企业的青睐。然而&#xff0c;在实际操作中&#xff0c;不当的变更管理可能会导致数据库性能下降或系统崩溃。为了避免这种情况&#xff0c;我们提供了以下关键技巧来确保 …

Docker桥接网络分析

前言 《虚拟局域网(VLAN)》一文中描述了虚拟网卡、虚拟网桥的作用&#xff0c;以及通过iptables实现了vlan联网&#xff0c;其实学习到这里自然就会联想到目前主流的容器技术&#xff1a;Docker&#xff0c;因此接下来打算研究一下Docker的桥接网络与此有何异同。 猜测 众所周知…

react基础学习 JSX

JSX的测试网站 Babel Babel 可以测试代码的效果 JSX实现map列表 注意 key不一样&#xff08;使用遍历的时候&#xff09; 简单条件渲染 复杂条件渲染 绑定事件 function App() {const colorse (e)>{console.log("测试点击",e);}const colorse1 (name)>{…

月入30000的软件测试人员,简历是什么样子的?

我们都知道&#xff0c;简历是一个人进入职场的敲门砖。从某种层面来说&#xff0c;简历也像一个人的具象身份证&#xff0c;或者专业资格证。所以&#xff0c;一份简历的好坏&#xff0c;不仅关乎个人的“脸面”&#xff0c;更关乎你是不是一个有“含金量”的技术人员。 所以…

Python爬虫协程批量下载图片

import aiofiles import aiohttp import asyncio import requests from lxml import etree from aiohttp import TCPConnectorclass Spider:def __init__(self, value):# 起始urlself.start_url value# 下载单个图片staticmethodasync def download_one(url):name url[0].spl…

Docker容器开启特权模式

一、问题 1、容器系统中无法使用systemctl命令 即使是开了特权模式&#xff08;--privileged&#xff09; 2、无法通过/sbin/init启动容器 要想在容器中使用systemctl命令&#xff0c;除了要指定--privileged参数外&#xff0c;还需要指定启动参数为/sbin/init&#xff0c;但…

关于protobuf import 在idea中报红色错误解决

首先安装protobuf 插件 protocol 文件引入别的protocol 时报红原因在插件的设置&#xff0c;它并不知道去哪找&#xff0c;只需要配置下protobuf的所在目录即可

【成品设计】基于单片机的智慧交通控制系统设计

《基于单片机的智慧交通控制系统设计》 所需器件&#xff1a; STM32最小系统板。按键模块。红黄绿LED灯柱。距离传感器。OLED屏幕。语音识别模块。 整体功能&#xff1a; 本文介绍了一种基于单片机的智慧交通控制系统设计。该系统集成了多种传感器、控制器和执行器&#xf…

【成品设计】基于USB接口的指纹图像采集与处理系统设计

《基于USB接口的指纹图像采集与处理系统设计》 所需器件&#xff1a; STM32F429阿波罗开发板。ATK-AS608 模块指纹识别模块。USB转TTL模块。 整体功能&#xff1a; 实现指纹的采集录入。实现指纹的对比&#xff0c;并展示对比结果&#xff0c;用LED灯和蜂鸣器提示。指纹信息…

云原生下的数据协调艺术:etcd存储系统解析

目录 一、分布式存储简介 二、etcd介绍 三、etcd架构 四、etcd集成实践 一、分布式存储简介 随着云原生与容器化技术的兴起&#xff0c;分布式系统的复杂性大大增加。分布式系统面临一系列问题&#xff0c;比如部署复杂、响应时间慢、运维复杂等&#xff0c;其中最根本的问…

MySQL数据库整体知识点简述

目录 第一章&#xff1a;数据库系统概述 第二章&#xff1a;信息与数据模型 第3章 关系模型与关系规范化理论 第四章——数据库设计方法 第六-七章——MySQL存储引擎与数据库操作管理 第九章——索引 第10章——视图 第11章——MySQL存储过程与函数 第12章——MySQL 触…

神工坊夏日知识问答|辨“麦克斯韦妖”,赢百元好礼!

神工坊知识问答 辨“麦克斯韦妖”&#xff0c;赢百元好礼&#xff01; 科普时间到&#xff01; 中国古代传说有四大神兽 分别是青龙、白虎、朱雀和玄武 那你知道物理学中也有“四大神兽”吗&#xff1f; 它们分别是芝诺的乌龟、拉普拉斯兽 麦克斯韦妖和薛定谔的猫 芝诺的…

【Vue】组件通信

文章目录 一、组件之间如何通信二、组件关系分类三、通信解决方案四、父子通信流程五、父向子通信代码示例六、子向父通信代码示例 组件通信&#xff0c;就是指组件与组件之间的数据传递 组件的数据是独立的&#xff0c;无法直接访问其他组件的数据。想使用其他组件的数据&…