я - новичок с точки зрения разработки приложений.
до сих пор я разработал одноранговый узел для пиринга с игрой BattleShips в C# и одноранговом узле для пиринга с игрой Подключения 4 в Java.
для моего следующего проекта я решил пойти мультимедиа.
я хотел бы реализовать одноранговый узел для пиринга с программой чата, которая использует Аудио/Потоковую передачу видео для каждого клиента, а также текстового чата и возможно передачи файлов также. я хотел бы реализовать его в C#.
мой вопрос состоит в том, где должен запуститься?
я прочитал ТАК и различные другие источники, но из-за моего отсутствия опыта это все еще оказывается загадочным.
любые подсказки на уровне новичка приветствуются т.е. ищущие относительно легкий понять учебные руководства.
Здесь очень высокий уровень:
Для голосового чата я бы использовал аудиодрайверы Direct x для микрофонов, чтобы захватывать голосовые данные, а затем передавать их на другой компьютер (пакеты UDP, но сделайте обзор сети с помощью руководства Beej [ http://beej.us/guide/bgnet/] )
Это отличное руководство и код для начала: http://www.codeproject.com/KB/audio-video/VoiceChatApplicationInCS.aspx?msg=2193667
То же самое и с веб-камерой, за исключением того, что вместо передачи аудиоданных вы будете транслировать серию изображений. Там должна быть библиотека в Direct X SDK для этого (прямая демонстрация?), Которая предоставит обобщенный API для множества веб-камер, но в конце данных вы получите данные с одной компьютер, кодирование, потоковая передача и декодирование с форматированием как аудио, так и видео.
Удачи!
Обратите внимание на Jabber (XMPP), который разработан специально для описываемых вами задач. Jabber-net - полезная библиотека .NET. К вашему сведению, Google IM использует Jabber и создал набор расширений для видеочата, известный как Jingle (также с открытым исходным кодом)
Если вы хотите написать свой собственный протокол с использованием сырых сокетов на C #, вы должны быть знакомы со своими сетевыми протоколами. начните с поиска того, как отправить текстовое сообщение в порт и как прочитать все, что отправлено через порт, и отобразить это на экране.
вам понадобится простое консольное приложение, которое будет бесконечно работать, прослушивая порт (действуя как ваш сервер). и еще одно простое консольное приложение, которое будет отправлять сообщения на указанный вами порт
, что должно дать вам кое-что, с чего вам следует начать. тогда вы можете изменить свой код для потоковой передачи видео (намного сложнее)