Ubuntu系统下Python网络编程入门与实践指南
在Ubuntu中进行Python网络编程 想在Ubuntu里玩转Python网络编程?其实没那么复杂。Python自带的socket库就是一个相当趁手的工具,能帮你快速搭建起网络通信的基础框架。下面,咱们就通过一个经典的TCP服务器与客户端对话的例子,来直观感受一下整个过程。 TCP服务器 首先,从
在Ubuntu中进行Python网络编程
想在Ubuntu里玩转Python网络编程?其实没那么复杂。Python自带的socket库就是一个相当趁手的工具,能帮你快速搭建起网络通信的基础框架。下面,咱们就通过一个经典的TCP服务器与客户端对话的例子,来直观感受一下整个过程。
TCP服务器
首先,从搭建服务器端开始。这个过程就像为一场对话准备好接听电话的房间和线路。
- 打开你常用的文本编辑器,新建一个文件,不妨命名为
tcp_server.py。 - 将下面的代码块复制进去。这段代码清晰地展示了服务器从创建、绑定、监听,到接收数据并回应的完整生命周期:
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()
- 保存文件,然后打开终端,切换到文件所在目录,运行命令:
python3 tcp_server.py。看到监听提示,就意味着你的服务器已经准备就绪,在默默等待客户端的“敲门”了。
TCP客户端
服务器端准备妥当,接下来就该客户端登场了。它的任务很明确:找到服务器,打个招呼,然后等待回应。
- 同样,新建一个文件,命名为
tcp_client.py。 - 复制下面的客户端代码。这段代码逻辑直接:建立连接、发送消息、接收反馈、然后礼貌告别:
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()
- 保存文件。这时,请新开一个终端窗口,运行命令:
python3 tcp_client.py。
现在,有趣的事情发生了。回头看看运行服务器端的那个终端窗口,你应该能看到客户端连接成功的提示,以及它发来的那条问候消息。紧接着,客户端终端也会打印出服务器返回的确认信息。瞧,一次完整的本地网络“对话”就这样轻松实现了。
这当然只是一个最基础的起点。但正所谓万丈高楼平地起,基于这个清晰的骨架,你可以自由地扩展功能,比如加入多线程处理并发连接、定义更复杂的通信协议,或者增加数据加密——网络编程的世界,从此对你敞开大门。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
IDEA中SpringBoot项目热部署实现指南
Springboot项目在IDEA中实现热部署需依次完成:开启自动编译(静态与动态编译)、启用热部署策略、引入spring-boot-devtools依赖、关闭浏览器缓存,最后启动测试即可生效,省去手动重启时间,大幅提升开发效率。
Java实现Excel转JSON的代码详解
使用Java结合FreeSpire XLS库可自动将Excel转为JSON,通过读取工作表并映射为键值对,高效支持数据迁移、报表导出与系统对接,大幅提升效率并消除手动录入错误。
Golang高效布谷鸟过滤器多字符集字符串过滤
布谷鸟过滤器支持删除操作,通过指纹截断与双哈希定位实现多字符集高效过滤。指纹截断需采用fnv64a或xxhash快速哈希并取低8位,桶索引使用独立双哈希避免假阳性。并发安全需以固定数组配合sync atomic实现。
Java使用Poi-tl按Word模板生成动态表格
Poi-tl是Word导出工具,文档周全,支持多级合并表头生成。通过{{text}}、{{?var}}、{{ table}}标签处理模板,传入TableRenderData对象即可动态渲染表格。示例展示用户信息表格生成,并提供工具类消除表格首行缩进,确保格式正确。
Go语言微服务集成Swagger生成交互式API文档完整教程
在Go微服务中集成Swagger常见四大问题:swaginit初始化失败需确保存在packagemain及注释;SwaggerUI加载失败因路由映射错误或未导入docs;@Param注解必须严格遵循格式;部署后接口文档显示localhost因硬编码host,应删除或通过环境变量动态注入。
- 热门数据榜
相关攻略
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:47
2026-07-11 06:46
2026-07-11 06:46
2026-07-11 06:46
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

