-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.py
47 lines (40 loc) · 1.31 KB
/
server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import socket
import select
import protocols
hote =''
port = 12001
connecMain = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connecMain.bind((hote,port))
connecMain.listen(5)
print("le serveur écoute sur le port {}".format(port))
serveurLance = True
clientsConnectes=[]
while serveurLance :
connecDemandees,wlist,xlist = select.select([connecMain],[],[],0.05)
for connexion in connecDemandees:
connecClient, infosConnec = connexion.accept()
clientsConnectes.append(connecClient)
clientsALire = []
try:
clientsALire,wlist,xlist = select.select(clientsConnectes,[],[],0.05)
except select.error:
pass
else:
for client in clientsALire:
msgRecu = client.recv(1024)
msgRecu2 = protocols.recevoir(msgRecu)
print("recu : {}".format(msgRecu2))
for clients in clientsConnectes :
if clients != client:
clients.send(msgRecu)
if msgRecu2["msg"] == "/affiche":
#print("/affiche")
msgEnvoi=protocols.envoyer("client","all","001","5/5")
client.send(msgEnvoi)
elif msgRecu2["msg"] == "/quit":
client.close()
print("fermeture connexion")
for client in clientsConnectes:
client.close()
connecMain.close()
print()