Как отправить данные от одного клиента другому клиенту? - PullRequest
0 голосов
/ 29 октября 2011

Я уже создал свой собственный VOIP-сервер и клиент, используя чистые сокеты.Все клиенты могут отправлять голосовые данные на сервер, а сервер получает аудиоданные в порядке и воспроизводит их в режиме реального времени;но что, если клиент хочет общаться с конкретным клиентом?Как я могу это сделать?

Редактировать: Например, клиент A подключается к C (который является сервером), а клиент B подключается к C. Как A может отправлять данные на B с отправкой данных на C или без нее?

PS Я могу показать мой код, если это необходимо.Или, если я не конкретизирую, просто скажите мне, и я подробнее остановлюсь на моем вопросе.

Ответы [ 2 ]

1 голос
/ 29 октября 2011
  • A подключается к C
  • B подключается к C
  • A спрашивает C, доступна ли B
  • C проверяет, может ли он общаться с B
  • если так
    • A отправить данные на C, сказав это для B
    • C передает данные в B
  • если нет
    • A пытается позже спросить C, доступно ли B
1 голос
/ 29 октября 2011

Ваш сервер может работать как оркестратор.A может запросить Client B's IP & listening port с вашего сервера и затем напрямую подключиться к этому адресу.

...