Задержка потока TCP

271
Antonio Caruso

Мне нужно синхронизировать два разных потока данных. Я назову их стрем А и Б в следующем. В нулевое время оба потока начинаются с отправителя. Но поток A испытывает задержку в начале передачи (в диапазоне от 1 с до 10 с) относительно потока B. В приемнике мне нужно синхронизировать потоки, так что мне нужно (Python, C, C ++, Java) ), программа, открывающая сокет для получения B (с заданным IP: портом), буферизует данные (например, 10сек), а затем начинает: 1) читать данные из B и копировать их в очередь. 2) читать данные с начала очереди и отправлять их на другой порт ip :. Таким образом, в последнем порту я могу читать их, синхронизированные с A. Я не знаю, может ли netcat или другие инструменты сделать это с некоторыми опциями, или если уже есть программы (под Windows 10), которые можно использовать сделать это. В конце концов я могу написать код, но мне действительно нравится знать некоторые направления, для решения. Благодарю.

0

1 ответ на вопрос

1
dirkt

Вы не можете «задерживать» потоки TCP, в частности, если на пути много промежуточных блоков с буферизацией буфера. Любая попытка сделать это рано или поздно окажется в нестабильном состоянии.

Если вам нужны сетевые потоки, которые необходимо синхронизировать, посмотрите соответствующие протоколы, например, RTP .

Кроме того, это очень похоже на вопрос XY : вы думаете, что вам нужно «задержать потоки TCP» (Y), но вы не сказали нам, какие данные вы передаете, каким образом их нужно синхронизировать и т. Д. . (X)