搜尋

首頁  >  問答  >  主體

Node.js如何创建两个TCP server监听不同端口?

并且做到两个端口数据的互相传输?

是想实现这样的功能:一个客户端给8090端口发送数据,处理过后,然后由连接到8091端口的客户端接收,反之亦然。不过现在连单向都还没实现_(:з」∠)_

现在只用到了net模块,是否需要用到其他的才行?新手求指点啊~

巴扎黑巴扎黑2768 天前348

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-17 11:17:07

    問題在於有多個客戶端的時候該如何處理?例如多個客戶端都連了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

    回覆
    0
  • 取消回覆