Я пытаюсь установить сервер сокетов и использовать его в нескольких модулях для отправки сообщений клиенту.
Я написал одноэлементный сокет, скажем, socket_server.py
, как показано ниже.
import socket
class SocketServer:
_instance=None
def __init__(self):
SocketServer.socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
SocketServer.socket.bind(("",5003))
SocketServer.socket.listen(1)
SocketServer._instance=self
def post(self,message):
SocketServer.socket.send(message)
@staticmethod
def getInstance():
if not SocketServer._instance:
SocketServer()
return SocketServer._instance
У меня есть модуль (скажем, module_1.py), где я использую вышеуказанный сервер сокетов в качестве
from socket_server import SocketServer
socket_server=SocketServer.getInstance()
У меня есть еще один модуль (скажем, module_2.py), где я хочу использовать тот же сервер сокетов, который я создал в module_1.py.
from socket_server import SocketServer
socket_server=SocketServer.getInstance()
Но когда я пытаюсь выполнить эти два сценария одновременно, я получаю два разных экземпляра сокет-сервера.
Я хочу иметь возможность создать сервер с одним сокетом, использовать один и тот же экземпляр в module_1.py и module_2.py для отправки сообщений в порт.