阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      CoffeeScript 双向客户端

      双向客户端

      问题

      你想通过网络提供持续的服务,与客户保持持续的联系。

      解决方案

      创建一个双向 TCP 客户机。

      在 Node.js 中

      net = require 'net'
      
      domain = 'localhost'
      port = 9001
      
      ping = (socket, delay) ->
          console.log "Pinging server"
          socket.write "Ping"
          nextPing = -> ping(socket, delay)
          setTimeout nextPing, delay
      
      connection = net.createConnection port, domain
      
      connection.on 'connect', () ->
          console.log "Opened connection to #{domain}:#{port}"
          ping connection, 2000
      
      connection.on 'data', (data) ->
          console.log "Received: #{data}"
      
      connection.on 'end', (data) ->
          console.log "Connection closed"
          process.exit()
      

      使用示例

      可访问Bi-Directional Server

      $ coffee bi-directional-client.coffee
      Opened connection to localhost:9001
      Pinging server
      Received: You have 0 peers on this server
      Pinging server
      Received: You have 0 peers on this server
      Pinging server
      Received: You have 1 peer on this server
      [...]
      Connection closed
      

      讨论

      这个特殊示例发起与服务器联系并在 @connection.on ‘connect’@处理程序中开启对话。大量的工作在一个真正的用户中,然而 @connection.on ‘data’@处理来自服务器的输出。@ping@函数递归是为了说明连续与服务器通信可能被真实的用户移除。

      另请参阅Bi-Directional ServerBasic ClientBasic Server

      练习

      • 为选定的目标域和基于命令行参数或配置文件的端口添加支持。
      卖前端学习教程

      只需几十元,就能买到培训班的内部教程!开启高薪之路!

      零基础小白阿里P7的教程都有!

      同时长期收购所有培训班的前端教程

      目录
      目录