python中的网络编程,卑微打工人

本文详细介绍了TCP协议的工作原理、特点,以及socket在进程间网络数据传输中的作用。以Python为例,展示了TCP客户端和服务端的开发流程及示例代码,涵盖了从基础知识到实战应用的完整学习路径。
摘要由CSDN通过智能技术生成

6.小结

在这里插入图片描述

三、TCP 的介绍


1.网络应用程序之间的通信流程

在这里插入图片描述

2.TCP 的概念

在这里插入图片描述

在这里插入图片描述

3.TCP 的特点

在这里插入图片描述

4.总结

TCP 是一个稳定、可靠的传输协议,常用于对数据进行准确无误的传输,比如: 文件下载,浏览器上网。

四、socket 的介绍


1.问题思考

在这里插入图片描述

2.socket 的概念

在这里插入图片描述

在这里插入图片描述

3.socket 的作用

负责进程之间的网络数据传输,好比数据的搬运工。

4.socket 使用场景

在这里插入图片描述

5.小结

进程之间网络数据的传输可以通过 socket 来完成, socket 就是进程间网络数据通信的工具。

五、TCP 网络应用程序开发流程


1.TCP 网络应用程序开发流程的介绍

在这里插入图片描述

2.TCP 客户端程序开发流程的介绍

在这里插入图片描述

在这里插入图片描述

3. TCP 服务端程序开发流程的介绍

在这里插入图片描述

在这里插入图片描述

4.小结

在这里插入图片描述

六、TCP 客户端程序开发


1.开发 TCP 客户端程序开发步骤回顾

在这里插入图片描述

2.socket 类的介绍

在这里插入图片描述

3.TCP 客户端程序开发示例代码

import socket

if name == ‘main’:

创建tcp客户端套接字

1. AF_INET:表示ipv4

2. SOCK_STREAM: tcp传输协议

tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

和服务端应用程序建立连接

tcp_client_socket.connect((“192.168.131.62”, 8080))

代码执行到此,说明连接建立成功

准备发送的数据

send_data = “你好服务端,我是客户端小黑!”.encode(“gbk”)

发送数据

tcp_client_socket.send(send_data)

接收数据, 这次接收的数据最大字节数是1024

recv_data = tcp_client_socket.recv(1024)

返回的直接是服务端程序发送的二进制数据

print(recv_data)

对数据进行解码

recv_content = recv_data.decode(“gbk”)

print(“接收服务端的数据为:”, recv_content)

关闭套接字

tcp_client_socket.close()

在这里插入图片描述

网络调试助手充当服务端程序:

在这里插入图片描述

4.小结

在这里插入图片描述

七、TCP服务端程序开发


1.开发 TCP 服务端程序开发步骤回顾

在这里插入图片描述

2.socket 类的介绍

在这里插入图片描述

3.TCP 服务端程序开发示例代码

import socket

if name == ‘main’:

创建tcp服务端套接字

tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

设置端口号复用,让程序退出端口号立即释放

tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)

给程序绑定端口号

tcp_server_socket.bind((“”, 8989))

设置监听

128:最大等待建立连接的个数, 提示: 目前是单任务的服务端,同一时刻只能服务与一个客户端,后续使用多任务能够让服务端同时服务与多个客户端,

不需要让客户端进行等待建立连接

listen后的这个套接字只负责接收客户端连接请求,不能收发消息,收发消息使用返回的这个新套接字来完成

tcp_server_socket.listen(128)

等待客户端建立连接的请求, 只有客户端和服务端建立连接成功代码才会解阻塞,代码才能继续往下执行

1. 专门和客户端通信的套接字: service_client_socket

2. 客户端的ip地址和端口号: ip_port

service_client_socket, ip_port = tcp_server_socket.accept()

代码执行到此说明连接建立成功

print(“客户端的ip地址和端口号:”, ip_port)

接收客户端发送的数据, 这次接收数据的最大字节数是1024

recv_data = service_client_socket.recv(1024)

获取数据的长度

recv_data_length = len(recv_data)

print(“接收数据的长度为:”, recv_data_length)

对二进制数据进行解码

recv_content = recv_data.decode(“gbk”)

print(“接收客户端的数据为:”, recv_content)

准备发送的数据

send_data = “ok, 问题正在处理中…”.encode(“gbk”)

发送数据给客户端

service_client_socket.send(send_data)

关闭服务与客户端的套接字, 终止和客户端通信的服务

service_client_socket.close()

关闭服务端的套接字, 终止和客户端提供建立连接请求的服务

tcp_server_socket.close()

在这里插入图片描述

在这里插入图片描述

4.小结

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

ert/6c361282296f86381401c05e862fe4e9.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
[外链图片转存中…(img-9tsGidKJ-1711699592969)]

  • 29
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值