当前位置: 首页
编程语言
Ubuntu系统下Python网络编程入门与实践指南

Ubuntu系统下Python网络编程入门与实践指南

热心网友 时间:2026-05-06
转载

在Ubuntu中进行Python网络编程

想在Ubuntu里玩转Python网络编程?其实没那么复杂。Python自带的socket库就是一个相当趁手的工具,能帮你快速搭建起网络通信的基础框架。下面,咱们就通过一个经典的TCP服务器与客户端对话的例子,来直观感受一下整个过程。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

TCP服务器

首先,从搭建服务器端开始。这个过程就像为一场对话准备好接听电话的房间和线路。

  1. 打开你常用的文本编辑器,新建一个文件,不妨命名为tcp_server.py
  2. 将下面的代码块复制进去。这段代码清晰地展示了服务器从创建、绑定、监听,到接收数据并回应的完整生命周期:
import socket

# 创建一个socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定IP地址和端口
server_host = '127.0.0.1'
server_port = 12345
server_socket.bind((server_host, server_port))

# 监听连接
server_socket.listen(5)
print(f"[*] Listening on {server_host}:{server_port}")

while True:
    # 接受客户端连接
    client_socket, client_address = server_socket.accept()
    print(f"[+] {client_address} is connected.")

    # 接收数据
    data = client_socket.recv(1024).decode('utf-8')
    print(f"[+] Received message: {data}")

    # 发送数据
    response = f"[*] Server received: {data}"
    client_socket.send(response.encode('utf-8'))

    # 关闭客户端连接
    client_socket.close()
  1. 保存文件,然后打开终端,切换到文件所在目录,运行命令:python3 tcp_server.py。看到监听提示,就意味着你的服务器已经准备就绪,在默默等待客户端的“敲门”了。

TCP客户端

服务器端准备妥当,接下来就该客户端登场了。它的任务很明确:找到服务器,打个招呼,然后等待回应。

  1. 同样,新建一个文件,命名为tcp_client.py
  2. 复制下面的客户端代码。这段代码逻辑直接:建立连接、发送消息、接收反馈、然后礼貌告别:
import socket

# 创建一个socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接到服务器
server_host = '127.0.0.1'
server_port = 12345
client_socket.connect((server_host, server_port))

# 发送数据
message = "Hello, this is the client."
client_socket.send(message.encode('utf-8'))

# 接收数据
data = client_socket.recv(1024).decode('utf-8')
print(f"[+] Received from server: {data}")

# 关闭客户端连接
client_socket.close()
  1. 保存文件。这时,请新开一个终端窗口,运行命令:python3 tcp_client.py

现在,有趣的事情发生了。回头看看运行服务器端的那个终端窗口,你应该能看到客户端连接成功的提示,以及它发来的那条问候消息。紧接着,客户端终端也会打印出服务器返回的确认信息。瞧,一次完整的本地网络“对话”就这样轻松实现了。

这当然只是一个最基础的起点。但正所谓万丈高楼平地起,基于这个清晰的骨架,你可以自由地扩展功能,比如加入多线程处理并发连接、定义更复杂的通信协议,或者增加数据加密——网络编程的世界,从此对你敞开大门。

来源:https://www.yisu.com/ask/29528191.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
C++跨平台获取程序运行路径的Windows与Linux实现方法

C++跨平台获取程序运行路径的Windows与Linux实现方法

C++如何获取当前程序运行路径:Windows与Linux跨平台实现【干货】 Windows 用 GetModuleFileNameA 获取可执行文件绝对路径,Linux 用 readlink( " proc self exe ") 读取符号链接,两者均需截断至目录部分;禁用 getcwd() 和不可靠

时间:2026-05-06 21:39
C++跨平台文件隐藏功能实战实现教程

C++跨平台文件隐藏功能实战实现教程

C++如何实现跨平台的文件隐藏功能设置【实战】 在跨平台开发中,文件隐藏是一个典型的“概念断层”问题。Windows通过SetFileAttributes设置FILE_ATTRIBUTE_HIDDEN属性实现文件隐藏,macOS Linux则依赖以 开头的命名约定;跨平台无法统一抽象,必须按系统分别

时间:2026-05-06 21:39
Golang实现API文档自动同步的方法与步骤详解

Golang实现API文档自动同步的方法与步骤详解

Go项目API文档自动同步:从生成到分发的实战解析 在Go项目中实现API文档的自动同步,真正的挑战往往不在于工具链本身,而在于能否将「文档生成」与「文档分发」这两个环节彻底解耦,并实现全流程的脚本化。手动执行一次swag init命令,或者在本地浏览器里打开 swagger index html查

时间:2026-05-06 21:39
C++深度解析Bencode编码中的嵌套列表与字典结构

C++深度解析Bencode编码中的嵌套列表与字典结构

Bencode嵌套结构解析:从字符流到健壮实现的四个关键点 先明确一个核心事实:Bencode的嵌套结构完全由i、l、d和e这几个字符显式界定,它不依赖缩进或换行这种对人类友好的格式。这意味着,解析器必须像最严格的语法分析器一样,顺序扫描字符流,精准匹配每一个开始和结束标记。 识别 Bencode

时间:2026-05-06 21:39
Pydantic Literal字段空字符串处理与默认值回退方法

Pydantic Literal字段空字符串处理与默认值回退方法

Pydantic 中如何为 Literal 字段处理空字符串并自动回退到默认值 当 Pydantic 字段使用 Literal 类型(如 "enabled " | "disabled ")时,空字符串 " " 会直接触发类型校验失败,而非应用默认值;本文介绍通过 @field_validator(mode

时间:2026-05-06 21:39
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程