Текстовый чат является относительно простым. Он включает в себя трехуровневую архитектуру. 1) Таймер Javascript. 2) веб-служба WCF Ajax Enabled или общий Http-обработчик, 3) хранилище данных (предпочтительно SQL).
1) На странице - отправка: текстовое поле ввода + кнопка (используется для отправки). Обработчик события нажатия кнопки или клавиша ввода текстового поля (для ввода ключа) и события размытия будут ссылаться на сообщение (через JQuery, обычный ol или JavaScript), в службу WCF/общий обработчик, отправив содержимое текстовое поле вместе с именем графического объекта, адресатом и получателем.
2) На сервере: обработчик WCF Service/Generic Http получает сообщение и сохраняет его в БД.
3) На странице - получение: используя JQuery, например, вы должны создать таймер javascript для готового документа (при загрузке страницы). На каждом тикере таймера вы хотите создать GET (или сообщение) через вашу удобную среду JavaScript (или Plain Javascript) для вашего сервиса WCF/Generic Handler, запрашивающего последние записи, хранящиеся в БД для этого чата. Добавьте полученный результат (предполагая xml/html/json) в Div или любой другой элемент, используемый для отображения ваших «чатов».
Это очень упрощенный чат в jquery/asp.net.
Что касается аудио-видео, у вас есть несколько проблем. 1) Сам браузер не имеет возможности взаимодействовать с микрофоном, динамиками и видеокамерой, если только он не использует плагин. Более того, браузеры, как правило, не имеют возможности узнать, как декодировать видеопоток (хотя некоторые из более умных построили его ... chrome, firefox). 3) Javascript никак не взаимодействует со всем необходимым оборудованием, поскольку он живет внутри браузера.
Все, что сказано, вы можете использовать плагин, такой как Flash или Silverlight (который имеет встроенный доступ к необходимым аппаратным средствам) или что-то еще. У вас также будет концептуальная дилемма с теми, что вам нужно, чтобы одновременно иметь дело с 2 потоками - один для входа, другой выход и отображение обоих. Однако это возможно.
Это очень общий вопрос. Я был бы удивлен, если бы вы нашли полную реализацию системы чата здесь, в StackOverflow. –
Вам, скорее всего, понадобится использовать Flash (или, возможно, Silverlight). – leppie