回覆列表
  • 1 # 智慧福建

    問題在於有多個客戶端的時候如何處理?比如多個客戶端都連了8091,然後給8090的資料處理後發給哪個客戶端?

    這裡假設你需要的是廣播;假設資料都在一個包內傳完,不考慮多個數據包

    clients = { s1: {}, s2: {} }

    onConnect1 = (socket)->

    id = RANDOM_ID()

    clients.s1[id] socket

    #有人連8090

    socket.on "data", (buffer)->

    #處理資料

    result = YOUR_LOGIC buffer

    #處理完以後發廣播

    Object.keys(clients.s2).forEach (k)->

    clients.s2[k].write result

    #通訊結束

    socket.on "end", ()->

    delete clients.s1[id]

    onConnect2 = (socket)->

    #差不多抄一遍,如果來回邏輯就是一樣的話可以複用一下

    s1 = net.createServer onConnect1

    s2 = net.createServer onConnect2

    s1.listen 8090

    s2.listen 8091

  • 中秋節和大豐收的關聯?
  • 設計一些好聽的帶流的詞語四字?