2011-01-07 3 views
2

Мне нужно разработать чат-систему в ASP.Net. Я прошел много вопросов, заданных по подобной теме, но не нашел ни одного удовлетворительного. Можно ли создать его с нуля или мне нужно перейти на некоторые API. Мое требование ограничено только моими пользователями сайта, можно сказать, что на основе интрасети.Аудио/видео/Текстовый чат в приложении ASP.Net

Пожалуйста, помогите мне.

+1

Это очень общий вопрос. Я был бы удивлен, если бы вы нашли полную реализацию системы чата здесь, в StackOverflow. –

+1

Вам, скорее всего, понадобится использовать Flash (или, возможно, Silverlight). – leppie

ответ

3

Чтобы сделать текстовый чат, подумайте, что вы можете сделать с помощью простой таблицы, каждый пишет на нем, каждый раз читает время, и вы показываете его на странице.

Вот пример http://www.codeproject.com/KB/ajax/ChatRoom.aspx

/Аудио чат видео это осложнит один. Вы можете начать с этого примера

http://www.codeproject.com/KB/IP/videochat.aspx

и вы можете прочитать здесь: how to work with videos in ASP.NET?

+0

Человек спросил ASP.NET. Не использовать MFC/C++ и толстый клиент. – bleepzter

+0

@bleepzter Вы имеете в виду последнюю ссылку - на самом деле есть набор вызовов функций в мультимедийную библиотеку, которые некоторые могут использовать для управления видео в целом. – Aristos

2

Текстовый чат является относительно простым. Он включает в себя трехуровневую архитектуру. 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 потоками - один для входа, другой выход и отображение обоих. Однако это возможно.

Смежные вопросы