J'écris actuellement un serveur telnet en Python. C'est un serveur de contenu. Les gens se connectent au serveur via telnet, et se voient présenter du contenu textuel.Plusieurs connexions réseau simultanées - Serveur Telnet, Python
Mon problème est que le serveur devrait évidemment supporter plus d'une connexion simultanée. La mise en œuvre actuelle que j'ai maintenant ne supporte qu'un seul.
Ceci est la base, la preuve de concept serveur j'ai commencé avec (alors que le programme a beaucoup changé au fil du temps, le cadre telnet de base n'a pas):
import socket, os
class Server:
def __init__(self):
self.host, self.port = 'localhost', 50000
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.bind((self.host, self.port))
def send(self, msg):
if type(msg) == str: self.conn.send(msg + end)
elif type(msg) == list or tuple: self.conn.send('\n'.join(msg) + end)
def recv(self):
self.conn.recv(4096).strip()
def exit(self):
self.send('Disconnecting you...'); self.conn.close(); self.run()
# closing a connection, opening a new one
# main runtime
def run(self):
self.socket.listen(1)
self.conn, self.addr = self.socket.accept()
# there would be more activity here
# i.e.: sending things to the connection we just made
S = Server()
S.run()
Merci pour votre aide.
+1: est le chemin à parcourir tordu. L'implémentation d'un serveur Telnet simple devrait être vraiment facile. – nosklo