Используйте Socket.io для создания сервера Socket.io. Тем не менее, сервер зависит от уже созданного HTTP -сервера.
После того, как HTTP -сервер работает, используйте метод прослушивания, чтобы прикрепить сервер Socket.io к HTTP -серверу.
Кода -копия выглядит следующим образом:
var sio = require ("scoket.io");
var socket = sio.listen (сервер);
Socket - это сервер Socket.io, созданный на сервере.
Когда клиент устанавливает соединение с сервером, запускается событие подключения службы Socket.io.
Кода -копия выглядит следующим образом:
Socket.on ("connection", function (ocket) {
});
Параметр сокета в функции обратного вызова - это объект порта сокета, который устанавливает соединение между сервером и клиентом.
Когда получено сообщение, отправленное клиентом, выдается событие сообщения порта сокета.
Кода -копия выглядит следующим образом:
socket.on ("message", function (msg) {
});
Параметры функции обратного вызова - это сообщения, отправляемые клиентом.
Вы можете использовать Socket.send (MSG), чтобы отправить сообщение клиенту.
Событие отключения запускается при отключении подключения на стороне сервера.
Кода -копия выглядит следующим образом:
Socket.on ("Deanconct", funciton () {
});
Эта функция обратного вызова не применяет никаких параметров.
Server Server.js код:
Кода -копия выглядит следующим образом:
var http = require ("http");
var sio = require ("socket.io");
var fs = require ("fs");
var server = http.createserver (function (req, res) {
res.writehead (200, {"content-type": "text/html"});
res.end (fs.readfilesync ("./ index.html"));
});
Server.Listen (1337);
var socket = sio.listen (сервер);
Socket.on ("connection", function (ocket) {
console.log («Установление клиентских соединений»);
Socket.send ("Привет");
socket.on ("message", function (msg) {
console.log ("получил сообщение:"+msg);
});
socket.on ("deancnect", function () {
console.log («клиент отключить»);
});
});
Создать клиент index.html код:
Кода -копия выглядит следующим образом:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/socket.io/socket.io.js"> </script>
<Скрипт>
var socket = io.connect ();
socket.on ("message", function (data) {
console.log (data);
Socket.send («Сообщение принято.»)
});
socket.on ("deancnect", function () {
console.log («Серверная сторона отключения»);
});
</script>
</head>
<тело>
</body>
</html>
Этот код: /socket.io/socket.io.js предоставляется в библиотеке классов Socket.io Socket.io, и нет необходимости на самом деле размещать файл Socket.io.js на клиенту.
В файле скрипта сначала используйте метод io.connect (), чтобы подключиться к серверу Socket.io Socket.io.
Этот метод возвращает объект порта клиента, который устанавливает соединение с сервером.
Когда сообщение получено с сервера, событие сообщения объекта порта клиентских сокетов запускается.
Кода -копия выглядит следующим образом:
socket.on ("message", function (msg) {
});
MSG - это данные, отправленные сервером;
Вы также можете использовать метод Send () объекта клиента для отправки данных на сервер.
Кода -копия выглядит следующим образом:
Socket.send (MSG);
Когда сервер отключается, запускается событие отключения объекта порта клиента.
Кода -копия выглядит следующим образом:
socket.on ("deancnect", function () {
})
Эта функция обратного вызова не использует никаких параметров.
Уведомление:
Механизм сообщений клиента точно такой же, как механизм обработки сообщений на стороне сервера. Потому что Socket.io гарантирует, что клиент и сервер будут иметь один и тот же API.
Результаты после запуска:
Когда браузер закрыт, соединение с сервером отключено. В настоящее время сервер запускает событие отключения, а клиент отключается.