2016-09-14 4 views
1

Я новичок в Node.js и socket.io.Что такое переменная сокета в socket.io

Я иду на официальный сайт socket.io и попробую учебник. http://socket.io/get-started/chat/

Он работает правильно на моем компьютере. Но я не могу понять суть его кода.

ВОПРОС: что такое «переменная сокета» в нижнем коде. И откуда это?

io.on('connection', function(socket){ 
    socket.on('chat message', function(msg){ 
    io.emit('chat message', msg); 
    }); 
}); 

Возможно, «msg variable» является переменной типа String. И это с клиентской стороны, не так ли?

ответ

1

Переменная socket в основном является сокетом для клиента. io.on('conection') будет вызываться каждый раз, когда новый клиент подключается и дает сокет для подписки.

socket.on('chat message' будет подписаться на события, отправленные клиентом, связанные с этим экземпляром сокета.

Вот различные части вашей программы объяснили:

io.on('connection', function(socket){ // Waiting for new clients to connect, then return a socket instance 
// msg can be any javascript object like a string or array ect. 
    socket.on('chat message', function(msg){ // Subscribe on event 'chat message' will be called when client do io.emit 
    io.emit('chat message', msg); // Server send to clients 
    }); 
}); 
+0

Спасибо за совет, я понимаю, что мы можем послать различные типы объектов как строка, массив. Но я не могу понять это предложение. «Переменная сокета - это, в основном, сокет для клиента» Что такое сокет? Это как идентификатор клиента? Или соединение между клиентом и сервером? Я использую его слово, но большинство веб-страниц просто объясняют протокол Websocket или сокет. Ио. –

0

Тип переменной msg не является точно строкой, но больше похож на все, что вышло в событии «сообщение чата». Вам не нужно выделять только строки, вы также можете испускать объекты. В контексте примера да. Это с клиентской стороны.

Переменный сокет, хотя сокет - это соединение между клиентом и сервером. Если сервер получает сообщение «сообщение чата» из этого соединения, или, скорее, «сокет», он выдает событие «сообщение чата» во всех сокетах, которые у него есть. Содержимое события «сообщения чата», которое сервер передает на все сокеты, которые к нему подключены, совпадает с содержимым события «сообщения чата», который клиент, который отправил сообщение чата, вывел на сервер в первую очередь ,

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