Эй, я пишу приложение в Twisted, и, поскольку он стоит, у меня есть 4 сервера, которые связывают два разных порта, все общающиеся с клиентом через JSON. Есть ли все-таки, чтобы связать эти 4 сервера с одним и тем же портом и взаимодействия остались прежними?Стандартный способ использования одного порта для нескольких сокетов?
Например, клиент подписывается на два разных канала, передаваемых через прямой сокет.
Прямо сейчас я просто как
server1.read_string()
server2.read_string()
и он будет читать правильную строку JSON из соответствующих каналов. Есть ли способ поддерживать этот тип функциональности, но свяжитесь с моим сервером на одном и том же порту?
Я не хочу бросать все функциональные возможности сервера в один массивный сервер и разбивать данные на префиксы заголовков.
Я не хочу, чтобы сделать что-то вроде
s = server.read_string()
header = s.split(//some delimiter)[0]
if (header == "SERVER1")
{
// Blahh
}
Мне также нужны заголовки на стороне клиента, да? Есть ли лучший способ передать данные заголовка, чем непосредственно в теле сообщения, как показано выше? – DevDevDev
Заголовок должен быть в самом сообщении. Когда сообщение принимается с обоих концов, получатель может определить, к какому каналу относится сообщение. –