日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现跨进程(跨py文件)通信

發布時間:2024/1/18 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现跨进程(跨py文件)通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、server端
  • 二、client端
  • 三、運行效果
  • 總結


前言

項目中總會遇到數據需要跨進程通信的問題,今天就給大家帶來一套簡單的跨進程通信代碼。代碼分為服務端與客戶端兩部分。

一、server端

import multiprocessing import timedef do_socket(conn, addr, ):try:while True:if conn.poll(1) == False:time.sleep(0.5)continuedata = conn.recv() # 等待接受數據conn.send('sucess')# ***********************# 要執行的程序寫在這里# ***********************print(data)except Exception as e:print('Socket Error', e)finally:try:conn.close()print('Connection close.', addr)except:print('close except')def run_server(host, port):from multiprocessing.connection import Listenerserver_sock = Listener((host, port))print("Sever running...", host, port)pool = multiprocessing.Pool(10)while True:# 接受一個新連接:conn = server_sock.accept()addr = server_sock.last_acceptedprint('Accept new connection', addr)# 創建進程來處理TCP連接:pool.apply_async(func=do_socket, args=(conn, addr,))if __name__ == '__main__':server_host = '127.0.0.1'server_port = 8000run_server(server_host, server_port)

二、client端

import timefrom multiprocessing.connection import Clientclient = Client(('127.0.0.1', 8000))while True:data = 'send data'client.send(data)data = client.recv() # 等待接受數據print(data)time.sleep(1)

這里只是給了client端的示例代碼,實際通信的數據類型可以是多樣的(字符串、數字、圖片等)

三、運行效果

先運行server端,再運行client端。
server端

client端

總結

本文簡單給大家提供了一套簡單封裝的跨進程通信代碼,方便大家快速上手實現跨進程通信,有需要的伙伴可以根據自己的需求調整代碼。
如果閱讀本文對你有用,歡迎一鍵三連呀!!!
2022年3月1日14:26:42

總結

以上是生活随笔為你收集整理的python实现跨进程(跨py文件)通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。