Hey j'écris une application dans Twisted, et pour l'instant j'ai 4 serveurs liés deux ports différents tous communiquer avec le client via JSON. Est-il de toute façon lié ces 4 serveurs au même port et les interactions restent les mêmes?Manière standard d'utiliser un seul port pour plusieurs sockets?
Par exemple, disons que le client s'abonne à deux flux différents, transmis via une socket directe.
En ce moment, je fais comme
server1.read_string()
server2.read_string()
et il lit la chaîne JSON correcte des flux respectifs. Y at-il de toute façon à maintenir ce type de fonctionnalité, mais contactez mon serveur sur le même port?
Je ne veux pas jeter toutes les fonctionnalités du serveur dans un serveur massif et partitionner les données par des préfixes d'en-tête.
Je ne veux pas faire quelque chose comme
s = server.read_string()
header = s.split(//some delimiter)[0]
if (header == "SERVER1")
{
// Blahh
}
J'aurais aussi besoin des en-têtes côté client oui? Y at-il un meilleur moyen de transmettre des données d'en-tête que directement dans le corps du message comme je l'ai montré ci-dessus? – DevDevDev
L'en-tête doit être dans les données du message lui-même. Lorsqu'un message est reçu à chaque extrémité, le destinataire peut identifier le flux auquel le message se rapporte. –