Python 网络编程之过多线程在两个单独的 GUI 之间进行通信(教程含完整源码)
2023-09-11 14:18:32 时间
想象一下,如果您必须制作一个也可以在单个工作站上运行的聊天机器人,或者让两个单独的进程在同一工作站上运行,从而相互通信,并且它们需要对通信的消息采取行动。对于在进程之间进行通信,任何开发人员首先想到的都会是 IPC(进程间通信)。为了在python中实现IPC,使用了线程,其中单个线程表现为一个单独的进程,并且还可以与其他线程(即另一个进程)进行通信。
出于通信目的,套接字被用作最佳实践,下图使用 python 服务器-客户端套接字编程来处理通信(即以字节 UTF-8 格式传递变量和编码字符串消息)。
服务器端实现
import PySimpleGUI as sg
import threading
from _thread import *
import socket
ServerSocket = socket.socket()
host = '127.0.0.1'
port = 1233
Threading 所需的库是 Threading,用于传递消息字符串的 Socket 库和 PySimpleGUI 用于 GUI。定义服务器套接字 IP 和端口号,以便每个客户端套接字都知道应该发送消息的目的地。
sg.theme('DarkAmber')
layout = [
[sg.Text("A sample UI for servers sending and receiving messages.",size=(80, 2),font=(20)),],
[sg.Button('REFRESH',size=(80, 2),enable_events=True, key="-RF-",fon
相关文章
- Python爬虫之requests库的使用
- Python脚本写端口扫描器(socket,python-nmap)
- Python编写基于socket的非阻塞多人聊天室程序(单线程&多线程)
- 【Python】ValueError: unsupported pickle protocol: 5解决方案/同一个项目 python环境尽量保持一致
- 人生苦短,我用Python!为什么现在越来越多的人转行python?
- 158 python网络编程 - 多线程服务器
- 源码编译vi过程中进行配置时报“checking if compile and link flags for Python are sane... no: PYTHON DISABLED”怎么办?
- How to export Excel files in a Python/Django application
- 《Python密码学编程》——1.9 不用纸质工具做加密
- python对象属性管理(2):property管理属性
- python多线程技术(一)
- python爬虫入门(四)利用多线程爬虫
- 在Python命令行和VIM中自动补全
- 9. python爬虫——高性能单线程 / 多线程 / 线程池 / 异步爬虫使用方法教学
- 小学生Python编程——拼图
- Python 工具 之 Windows 上 python 虚拟环境的搭建与简单使用的相关说明
- Python 获取Google+特定用户最新动态
- Python plt.subplot
- python构建web界面实现MySQL数据库的操作