Salut, je suis actuellement en train de créer un jeu grâce à Construct Classic (de Scirra) et cet outil permet d'utiliser le python.
Cela me permet à mon jeu d'être joué en multijoueur cela j'ai quelques problèmes avec le système client / serveur
En effet, mon serveur ne peut accepter qu'une seule connection et c'est pas le top puisqu'il devrait pouvoir en accepter autant que possible et envoyer des packets en fonction du packet reçu
Code du serveur :
- server.py
from socket import * #import the socket library
- let's set up some constants
HOST = '' #we are the host
PORT = 16884 #arbitrary port not currently in use
ADDR = (HOST,PORT) #we need a tuple for the address
BUFSIZE = 4096 #reasonably sized buffer for data
- now we create a new socket object (serv)
- see the python docs for more information on the socket types/flags
serv = socket( AF_INET,SOCK_STREAM)
- bind our socket to the address
serv.bind((ADDR)) #the double parens are to create a tuple with one element
serv.listen(200) #200 is the maximum number of queued connections we'll allow
print 'Waiting for connections...\n'
while True:
conn,addr = serv.accept() #accept the connection
conn.send('#### EU1 SERVER ####')
print '[PACKET] test packet sent !'
Et du côté du client :
- client.py
from socket import *
HOST = 'localhost'
PORT = 16884 #our port from before
ADDR = (HOST,PORT)
BUFSIZE = 4096
cli = socket( AF_INET,SOCK_STREAM)
cli.connect((ADDR))
data = cli.recv(BUFSIZE)
System.MessageBox(data, "orbitNetwork",0,0)
cli.close()
J'ai 2 questions :
Comment permettre au serveur de gérer plusieurs connections ET comment faire en sorte que le client soit connecté en permanence ?
Merci d'avance !