socket 做唔做到限制對方每次的data size

我個server好肯定每次都唔會收超過300byte....
node 亦都有寫
socket.on(data, err){
     console.log(data.toString());
     let len = data.length,
     if (len > 300){
           socket.close()
     }else{
            .......................
    }

我發現有每次有人send d packet size 好大.....
console.log 會print左幾行 data 出黎...(binary)...
要去到收晒data先會close connection.....

如果對方一次過send 幾百MB過黎....我咪要收晒先識得close佢個connection.....
有無方法可以一收到超過某個量就斷左佢.......
要點樣寫 ???

Dec 18 03:45:58 instance-1 myapps[29682]: 474554202f696e6465782e68746d6c20485454502f312e310d0a557365722d4167656e743a204d6f7a696c6c612f352...........

Dec 18 03:45:58 instance-1 myapps[29682]: 292e2823726f732e666c7573682829297d0d0a0d0a

Dec 18 03:45:58 instance-1 myapps[29682]: Data length = 1045, IP = 74.43.29.22. Close connection.

Dec 18 03:45:59 instance-1 myapps[29682]: 474554202f696e6465782e6a737020485454502f312e310d0a557365722d4167656e743a204d6f7a696c6c612f352e3.............
Dec 18 03:45:59 instance-1 myapps[29682]: 2e2823726f732e666c7573682829297d0d0a0d0a

Dec 18 03:45:59 instance-1 myapps[29682]: Data length = 1044, IP = 74.43.29.22. Close connection.

TOP

係咪要轉用raw-socket先做到......

TOP

係咪要轉用raw-socket先做到......
專業收買佬 發表於 2017-12-18 23:24


maxPayload

TOP

on(data, err)會等你收哂data先call, 所以入面先check length已經太遲了

TOP

maxPayload
7h1r733n 發表於 2017-12-20 10:32



    請問我係nodejs 度個set maxPayload..???

TOP

on(data, err)會等你收哂data先call, 所以入面先check length已經太遲了
KinChungE 發表於 2017-12-20 10:45



    請問應該點搞.....

TOP

請問我係nodejs 度個set maxPayload..???
專業收買佬 發表於 2017-12-20 13:33


https://github.com/websockets/ws/issues/680

call constructor時可以放埋maxPayload呢個param入去

TOP

call constructor時可以放埋maxPayload呢個param入去
KinChungE 發表於 2017-12-20 15:13



    我用socket....唔係websocket......係咪都得嫁 ???

TOP