Комментарий: Как правило, информация пользователя, зарегистрированная на традиционных веб -страницах, отправляется на страницу через Post или Ajax. После входа в HTML5 у нас есть еще один метод для взаимодействия с данными через WebSocket. Далее мы представим его подробно. Друзья, которые должны знать, могут ссылаться на это.
Как правило, информация пользователя, зарегистрированная на традиционных веб -страницах, отправляется на страницу через Post или Ajax. После HTML5 у нас есть еще один метод для взаимодействия с данными через WebSocket. WebSocket обладает гибкостью, которую традиционные веб -страницы не имеют в взаимодействии с данными. После установления длинного соединения через WebSocket сервер может напрямую отправлять данные клиенту. Нет необходимости предоставлять большое количество информации о заголовке HTTP для каждого взаимодействия данных. Сам протокол WebSocket поддерживает два формата данных текста и потоков. Очень просто взаимодействовать с JavaScript через текст JSON. Связь между JSON и WebSocket очень удобна, но для достижения этого удобства мы все равно должны сделать простую упаковку. К счастью, существующие компоненты JSON на различных платформах являются относительно зрелыми. Анализируя соответствующие методы отображения данных JSON на сервер, он выполняется.
Ниже приводится простая регистрация пользователя, чтобы отразить процесс взаимодействия HTML5 с JOSN и WebSocket. Поскольку он был инкапсулирован, он очень удобен в использовании.
HTML:Функция очень проста, и информация о регистрации представлена после подключения к службе WebSocket. Конечно, для того, чтобы быть более гибким, мы открываем форму соединения при мониторинге соединения закрыто. Конкретный код JS выглядит следующим образом:
function connect () {
Channel = new TcpChannel ();
channel.connected = function (evt) {
$ ('#dlgconnect'). Dialog ('close');
};
channel.disposed = function (evt) {
$ ('#dlgconnect'). Dialog ('open');
};
channel.error = function (evt) {
предупреждение (EVT);
};
channel.connect ($ ('#txthost'). val ());
}
Код очень лаконичен? Основная причина заключается в том, что TCPChannel инкапсулируется на основе WebSocket. Подробный код может быть загружен и понят. После того, как соединение будет успешным, вы вводите регистрационную форму.
После заполнения некоторой регистрационной информации нажмите «Зарегистрироваться», чтобы отправить информацию на сервер через WebSocket. Соответствующий представленный код JS выглядит следующим образом:
var invokereGister = {url: 'handler.onregister', параметры: {username: '', email: '', пароль: ''}};
Функция регистрации () {
$ ('#frmregister'). form ('отправить', {
onSubmit: function () {
var iSvalid = $ (this) .form ('validate');
if (isvalid) {
invokereGister.parameters = $ ('#frmregister'). serializeObject ();
channel.send (invokeregister, function (result) {
предупреждение (result.data);
});
}
вернуть ложь;
}
});
}
Когда данные проверки успешны, он может отправить объект описания метода вызова через TCPChannel. URL -адрес - это метод класса, указанный для вызова, а параметры - это параметр метода, а параметры также могут быть сложными типами структуры. Второй параметр - обработка обратного вызова.
C#Служба основана на обработке расширения жука, поэтому код очень прост. Код логического метода для вышеуказанной регистрации заключается в следующем:
Общественный класс
{
public String onregister (String username, String Email, String Password)
{
Console.WriteLine (имя пользователя);
Console.writeline (электронная почта);
Console.writeline (пароль);
вернуть имя пользователя;
}
}
Метод должен только определить соответствующие параметры. Контроллер расширения сообщений Beetle автоматически анализирует данные JSON, представленные JS для анализа, и связывать их с соответствующими методами выполнения. Подробный код контроллера также можно получить с помощью загрузки. После завершения логики нам нужно только открыть соответствующую службу WebSocket.
{
Статический void main (string [] args)
{
Beetle.controllers.controller.register (new Handler ());
Tcputils.setup ("Жук");
Программа Server = New Program ();
Server.Open (8088);
Console.writeline ("websocket start@8088");
System.Threading.Thread.sleep (-1);
}
Защищенный переопределение void onerror (отправитель объекта, ChannelerRoreVentargs E)
{
base.onerror (отправитель, E);
Console.writeline (E.Exception.message);
}
Защищенный переопределение void onconnected (отправитель объекта, ChannelEventargs E)
{
base.onconnected (отправитель, E);
Console.WriteLine ("{0} Connected", E.Channel.endPoint);
}
Защищенный переопределение void ondisposed (отправитель объекта, ChanneldisposedEventargs E)
{
base.onpissed (отправитель, E);
Console.WriteLine ("{0} Distributed", E.Channel.endPoint);
}
}
Этот вид взаимодействия и обработки объекта WebSocket Object на основе HTML5 завершен, и для реализации обработки взаимодействия JS и услуг требуется лишь небольшой объем кода. Для достижения этой удобной функции взаимодействия не может быть сохранена следующая инкапсуляция. Анализ протокола WebSocket, обработка объекта JSON и распределение управления сообщением; Если вы хотите узнать соответствующие данные, вы можете загрузить исходный код для просмотра его.Websocket.server.rar (641,79 кб)