zoukankan      html  css  js  c++  java
  • [Node.js]30. Level 6: Listen 'Question' from client, and then Answer the Question

    Clients can also answer each other questions, so let's build that feature by first listening for the'answer' event on the client, which will send us both the question and answer, which we want to broadcast out to the rest of the connected clients.

    var express = require('express');
    var app = express.createServer();
    var socket = require('socket.io');
    var io = socket.listen(app);
    
    io.sockets.on('connection', function(client) {
      console.log("Client connected...");
    
      // listen for answers here
    
      client.on('question', function(question) {
        client.get('question_asked', function(err, asked) {
          if(!asked) {
            client.set('question_asked', true);
            client.broadcast.emit('question', question);
          }
        });
    //can pass two or more params in callback function client.on(
    'answer', function(question,answer) { client.broadcast.emit('answer',question, answer); }); }); });

    Now on the client, listen for the 'answer' event and call the answerQuestion function, passing in both the question and the answer that was broadcasted from the server.

    <script src="/socket.io/socket.io.js" />
    
    <script>
      var server = io.connect('http://localhost:8080');
    
      server.on('question', function(question) {
        insertQuestion(question);
      });
    
    server.on('answer', function(question, answer){
        answerQuestion(question, answer);
    });
        
      //Don't worry about these methods, just assume 
      //they insert the correct html into the DOM
      // var insertQuestion = function(question) {
      // }
    
      // var answerQuestion = function(question, answer) {
      // }
    </script>
  • 相关阅读:
    Redis--过期键策略(惰性删除、定期删除)
    Redis--数据库(个数16、键空间、过期字典、过期策略)
    Redis--事件(serverCron)
    ArrayList是如何扩容的?
    Java的四大引用类型
    类加载机制,双亲委派模型及其优点
    GC调优思路
    modcount的作用
    JVM的常见的垃圾收集器
    什么是临界区?如何解决冲突(也就是临界区的调度原则)?
  • 原文地址:https://www.cnblogs.com/Answer1215/p/3881423.html
Copyright © 2011-2022 走看看