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>
  • 相关阅读:
    工单系统(帮助中心)
    理解RESTful架构
    trace显示不出东西
    thinkphp
    在一个元素中查找子元素
    阻止表单元素失去焦点
    RelativeLayout不能调用measure去直接测量子元素
    兼容加载Xml字符串
    IE下载时提示无法下载,重试后成功
    借用layer让弹层不限制在iframe内部
  • 原文地址:https://www.cnblogs.com/Answer1215/p/3881423.html
Copyright © 2011-2022 走看看