Мультиплексирование данных через сокет

В основном я пытаюсь сделать 2-3 передачи файлов из одного сокета НО все они в то же время и все же не прерывать сообщения, отправленные обратно и клиент / сервер.

Подобно программе чата между 2 людьми и 3 передачи файлов происходит.

Я стараюсь не открывать 2 или более потоков.

Я хочу, чтобы все происходило асинхронно — все еще говорите и передавайте все 3 файла на в то же время ; не один за другим.

Как будет выглядеть мой протокол? Я не могу думать об этом.

1

Решение

Если вы действительно хотите сделать коммутацию пакетов самостоятельно, я рекомендую очередь: поместите пакеты, которые должны быть отправлены, на одном конце, а на другом конце вы берете пакеты и выполняете фактический банковский перевод.

Для пакетов, которые передаются по проводам, вам нужен тип (передача файла или чат), пункт назначения (куда поместить файл или с кем вы общаетесь) и фактические данные пакета.

На принимающей стороне вам необходимо отслеживать всех получателей, чат и передачу файлов. При получении передачи файла для пункта назначения X вы сохраняете его в файл X, если вы получаете сообщение чата для пользователя Y, вы отправляете сообщение пользователю Y.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]