CoffeeScript 雙向服務(wù)器

2022-06-29 17:13 更新

雙向服務(wù)器

問題

你想通過網(wǎng)絡(luò)提供持續(xù)的服務(wù),與客戶保持持續(xù)的聯(lián)系。

解決方案

創(chuàng)建一個雙向TCP服務(wù)器。

在 Node.js 中

net = require 'net'

domain = 'localhost'
port = 9001

server = net.createServer (socket) ->
    console.log "New connection from #{socket.remoteAddress}"

    socket.on 'data', (data) ->
        console.log "#{socket.remoteAddress} sent: #{data}"
        others = server.connections - 1
        socket.write "You have #{others} #{others == 1 and "peer" or "peers"} on this server"

console.log "Listening to #{domain}:#{port}"
server.listen port, domain

使用示例

可訪問Bi-Directional Client

$ coffee bi-directional-server.coffee
Listening to localhost:9001
New connection from 127.0.0.1
127.0.0.1 sent: Ping
127.0.0.1 sent: Ping
127.0.0.1 sent: Ping
[...]

討論

大部分工作在@socket.on 'data'@中 ,處理所有的輸入端。真正的服務(wù)器可能會將數(shù)據(jù)傳給另一個函數(shù)處理并生成任何響應(yīng)以便源程序處理。

練習(xí)

  • 為選定的目標(biāo)域和基于命令行參數(shù)或配置文件的端口添加支持。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號