Bonjour ! Je fais mes premiers pas en communication client serveur, et je cherche simplement à programmer un serveur qui renvoie la date à la demande du client. Malheureusement, pour l'instant, tout ça ne retourne rien et je ne comprends pas pourquoi :/
côté serveur
import os
import sysv_ipc
import time
import concurrent.futures
import datetime
key=666
mq = sysv_ipc.MessageQueue(key,sysv_ipc.IPC_CREAT)
m,n=mq.receive()
m_dc=m.decode()
def getdate():
result=str(datetime.datetime.now())
return result
if m_dc==str():
print("")
else:
with concurrent.futures.ThreadPoolExecutor(max_workers = 4) as executor:
for result in executor.map(getdate,()):
result_ec=result.encode()
mq.send(result_ec, type = pid)
côté client
import os
import sys
import time
import sysv_ipc
key = 666
def user():
answer = 3
while answer not in [1, 2]:
print("1. to get current date/time")
print("2. to terminate time server")
answer = int(input())
return answer
try:
mq = sysv_ipc.MessageQueue(key)
except ExistentialError:
print("Cannot connect to message queue", key, ", terminating.")
sys.exit(1)
t = user()
if t == 1:
pid = os.getpid()
m = str(pid).encode()
mq.send(m)
m, t = mq.receive(type=pid)
dt = m.decode()
print("Server response:", dt)
if t == 2:
m = b""
mq.send(m, type = 2)
print("disco")
os.kill(os.getpid(),signal.SIGKILL)
Merci d'avance pour votre aide ! 