python运维-Socket网络编程

本教程通过实例介绍Python中Socket通信的基础知识,包括服务端与客户端的建立方式、数据的发送与接收过程,以及如何处理多连接的情况。同时,还讲解了Python 3中网络数据的类型转换,并对比了Python 2的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

课程地址:https://www.imooc.com/learn/1031

一、 课程介绍

4cc640ed3b3f0478612130e7e8f04c0469a.jpg

43fa88df4d2059e4fa00a913186999de920.jpg

74cebf9f9be35342ebc36d9dac5df8a8b81.jpg

15ba3a93247938b7e7727713c91763b8a6d.jpg

56bdf20f49f3101dc002b4d95701b1d626a.jpg

a0b980309d3f6f2d9c4757723c8fb3275aa.jpg

二、Socket通信入门

1.服务端程序

54fa79b1a9873c7c1c5b1d540674a174d1c.jpg

3246add111018af6ab5b7c871006a8a40d9.jpg

相关参数有默认

8ddcb2dc2b7af10e9ecf0dda6aaffb880e3.jpg

同一时间只有1个被处理,可以挂起的最大连接数为5,多于5个的会被服务器拒绝。大多数服务器都设置为5

d2d6f44e8b4c75efffb35b941965906f02c.jpg5c1be855e8d45f700f25073257fae7d2226.jpg

注意:python3以上,网络数据的发送接收都是byte类型,如果发送的数据是str型,需要进行编码。python2则不需要

6fae82241b19f7e3ad16556f4c0133a0616.jpg

运行后,服务端,在接收数据这里进行阻塞

2.客户端程序

9f907e9854193ac7922afc7a2f13dd57a09.jpg

e31048526469baba59e7ab75eddb3fc4e1d.jpg

b9816d495ff0ada620e3fee40bb3f648c58.jpg

运行客户端,字符串是服务端定义的,穿送过来。服务器退出

3.客户端连续消息发送

7dbf0f4b5b19609b5b1440d2120de1176c6.jpg

d75bfd51b0eedf3e73cd077897f0caf47d0.jpg

运行服务器端

a7371226ca1ce82b77b71b54727c3df6516.jpg

运行客户端

c615c562a797f5904ac78d2f9a817500c63.jpg

服务器端结束第一次连接

56a652c1a7a39c052d5c7772907b00ff244.jpg

再运行客户端

9a8d43c8a814576d60f2ad409339b7fdbf6.jpg

服务器端结束第二次连接

关闭请求

服务端程序改写:

348fc62afbde03662b82b029255f83b0ca7.jpg

f743aad413201a7df703a532786d4f31c29.jpg

f27e3d79141ad48d5a2502261542dcf55f0.jpg

客户端程序改写:

f4f11f807bca21db391b30960d8558e55a2.jpg

ea80d80f29cdf7784d51bf18f355b807f0c.jpg

acf481f97eb3cef4222187eb82c383ca07e.jpg

运行服务器端

a824da3d1a6d27cf1ff4c36310e11935ec1.jpg

连接客户端

bcfc136606a508a3f8cedd3980095b46781.jpg

服务器端报错

57a204df4aa2f739339425c01ccf8237118.jpg

增加解码

0de8056e5414c803bd4dcbb54e957a94b80.jpg

30ad4a9451c70109fce29bfb216ec52d5b2.jpg

495e61fe75c99d77494fae7b02512e64d80.jpg

27714e95cb0ff2ceca12058953b989a93bb.jpg

a72d4cc8276f42d2dbfcc50eef19f5b97cb.jpg

ca96dd1cce99ef48ce1ec4696e8ddc168c6.jpg

此时只是一个服务器端对一个客户端的连接

e082356406e71e8df4c448c7fc001d74544.jpg

c9805c055b4b095b3251d2c140d0f8f03aa.jpg

9f9c87ea2133d23657c19b756a4d206cfd4.jpg

再开启报错,当前服务器端和客户端正在通信,阻塞

4.实例化参数含义

bcd2c9f17f5657e0a4ac870790eac006b62.jpg

cfe6815689311824fd09493cb9296dce860.jpg

下面三个使用比较少

2a84a07ed165e3290cad7e9b1818a06a744.jpg

三、网络通讯实现

1.socket udp通信

820e8b88df3a7b5fa44c9d029780bd655d4.jpg

 

转载于:https://my.oschina.net/u/3018050/blog/1973423

内容概要:本文档为《400_IB Specification Vol 2-Release-2.0-Final-2025-07-31.pdf》,主要描述了InfiniBand架构2.0版本的物理层规范。文档详细规定了链路初始化、配置与训练流程,包括但不限于传输序列(TS1、TS2、TS3)、链路去偏斜、波特率、前向纠错(FEC)支持、链路速度协商及扩展速度选项等。此外,还介绍了链路状态机的不同状态(如禁用、轮询、配置等),以及各状态下应遵循的规则和命令。针对不同数据速率(从SDR到XDR)的链路格式化规则也有详细说明,确保数据包格式和控制符号在多条物理通道上的一致性和正确性。文档还涵盖了链路性能监控和错误检测机制。 适用人群:适用于从事网络硬件设计、开发及维护的技术人员,尤其是那些需要深入了解InfiniBand物理层细节的专业人士。 使用场景及目标:① 设计和实现支持多种数据速率和编码方式的InfiniBand设备;② 开发链路初始化和训练算法,确保链路两端设备能够正确配置并优化通信质量;③ 实现链路性能监控和错误检测,提高系统的可靠性和稳定性。 其他说明:本文档属于InfiniBand贸易协会所有,为专有信息,仅供内部参考和技术交流使用。文档内容详尽,对于理解和实施InfiniBand接口具有重要指导意义。读者应结合相关背景资料进行学习,以确保正确理解和应用规范中的各项技术要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值