Мой первый чат был написан в ASP 3.0. Программа относительно проста. В то время, чтобы построить реальную чату, необходимо использовать апплет Java или ActiveX. HTTP -картинные комнаты столкнулись с теми же вопросами, что и в моем первом чате. Эти проблемы включают вспышку феномена экрана, вызванного обновлением страницы. Но эта проблема была решена Ajax. Ajax - это комбинация JavaScript и XML асинхронных вызовов. Теперь используйте код JavaScript на сервере, чтобы достичь реальной чата. Эта статья не представит Ajax, и предполагает, что у вас есть определенное понимание использования Ajax и ASP.NET. Просто представьте, как использовать технологию Ajax для создания базовой чаты.
Рутина
Это отдельная чата с мульти -пользователем. Он может достичь основных функций чата, а также поддерживает некоторые командные строки, такие как: /Admin Clear, чтобы очистить историю чата, /nick [name], чтобы изменить прозвище пользователя. Программа иллюстрирует эту программу для обработки всей информации в чате, а пользовательская информация с помощью класса Chatedine.
Hashtable пользователи;
StringCollection Chat;
Declars Глобальный экземпляр в Chatengine в Global.asax.cs, обмениваясь всеми пользователями в чате:
Public static uchat.chatngine.ichatngine Engine = new uchat.chatngine.chatengine ();
Существует также функция таймера JavaScript, используемая для синхронизации глобальных переменных и информации о странице.
Функция setTimers ()
{{
thikId = window.settimeout (updateAll (), обновление);
}
Каждый пользователь уникально идентифицирован именем пользователя и GUID.
Public void AddUser (идентификатор строки, строковый пользователь)
{{
// Убедитесь, что имя пользователя не существует Alreamyy
if (! userexists (пользователь))
{{
// Добавить список пользователей в список пользователей
users.add (id, пользователь);
// отображать сообщение уведомления всем пользователям
Chat.add (this.makeservermessage (string.format (string.format (
Upedfmt, user)))));
}
}
Программа запускается интерфейс
Начальная страница показывает некоторую основную информацию о текущем сеансе, такой как номер пользователя, размер истории чата. Пользователи должны предоставить имя пользователя для входа в чат. Нажмите кнопку «Войти», чтобы ввести функцию ниже:
Защищенная void Login (отправитель объекта, EventArgs E)
{{
String user = txtusername.text;
if (! validatenick (пользователь)) return;
if (global.engine.userexist (пользователь))
{{
lblerrormsg.text = пользователь с этим +
Название Alream существует, попробуйте еще раз.;
Возвращаться;
}
Response.redirect (server.aspx? Action = login & u = + user);
}
После некоторой простой проверки пользователь добавляется в списки пользователей через функцию AddUser, а затем введет чат чата чата.
<script type = text/javascript>
sniffbrowsertype ();
// показывает загрузку .. экран
ShowloadScreen ();
// Установить время JavaScript и
// загружает список пользователей и сообщения
setTimers ();
SetFocus ('MyText');
</script>
Когда пользователь набирает некоторую информацию и возвращает, будут вызваны следующие функции:
<input type = text class = mytext
id = mytext onedown = capturereturn (event)>
// захватить клавишу Enter в поле ввода и публиковать сообщение
Функция CapturerTurn (Event)
{{
if (event.which || event.keycode)
{{
If ((event.which == 13) || (event.keycode == 13))
{{
posttext ();
Вернуть ложь;
}
еще {
Вернуть истину;
}
}
}
Функция posttext ()
{{
Rnd ++;
// Сначала очистить текстовое поле
Chatbox = getElement (MyText);
Чат = чат.
Chatbox.value =;
// Получить пользовательский гид из URL
userid = logation.search.substring (1, локально.search.length);
// Создание URL -адреса сервера AJAX
url = 'server.aspx?
Encodeuricomponent (CHAT) + '& session =' + rnd;
// Создать и установить экземпляр
// Присвоенный объект запроса xmlhttp
Req = getajax ();
// страница обновления с новым сообщением
Req.onreadystatechange = function () {
if (req.readystate == 4 && req.status == 200) {{{
UpdateAll ();
}
}
Req.open ('Get', url, true);
Req.send (null);
}
Есть так много, нет ничего особенного, вы можете увидеть исходный код, в нем много информации аннотации.
в заключение
Чтобы построить чат с Java Applet, вам нужно установить JVM на машине пользователя. Есть некоторые проблемы безопасности с ActiveX Control. С только что представленным Ajax вы можете легко создать программу чата на основе HTTP, которая не требует, чтобы пользователи устанавливали какое -либо программное обеспечение, и его легко поддерживать.