межпроцессное взаимодействие по почтовому ящику Python - PullRequest
0 голосов
/ 21 мая 2018

Я хочу реализовать программу связи между 10 процессами по почтовому ящику.Количество писем в ящиках ограничено 5. Каждый процесс может отправлять и / или получать сообщения от любого другого процесса, но если все почтовые ящики заняты, запрос отправителя должен быть помещен в очередь.Роль диспетчера сообщений (идентификация автора и получателя, передача сообщения и освобождение почтового ящика) назначается «супервизорному» потоку, который регулярно просматривает почтовые ящики, независимо от функционирования рабочих потоков (которые создают сообщения).Как мне начать?Я пытался это, но я не знаю, если это то, что я ищу.

class srvthread(Thread):
    def __init__(self):
        # initialisation d’un thread
        Thread.__init__(self)
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        self.socket.bind(('127.0.0.1', 8080)) 
        self.socket.listen(5) 
        self.setDaemon(True) 
        self.start()

sendMessage.py

import socket
def sendSocketMessage(message):
    # Send a message to a socket
    try:
        client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        client.connect(('127.0.0.1', 8080)) 
        client.send(message)
        client.shutdown(socket.SHUT_RDWR)
        client.close()
    except Exception, msg:
        print msg

if __name__ == "__main__":
sendSocketMessage("message")
...