我想利用Node.js中的TCP套接字與Lua程序進行通信。我試圖讓我的頭腦有兩個問題。首先緩衝區。根據我的理解,當數據從套接字提供給你的代碼時,它將是迄今爲止接收到的任何數據(一個數據流而不是數據包)。所以當你讀取收到的數據時,可能會從發送的數據中分解出來。緩衝區,插座。 node.js
即數據接收 {學校: 「龍
VS數據發送 {學校:[{」 長木」, 「Hillbrow」}]}
來解決這個問題的辦法是把。您的數據到一個「緩衝」和你使用任何方法證明資料片的最終分裂它通常看起來是新的生產線
我的問題在這裏:
- 您最終可以在緩衝區中獲得更多的2個或更多完整的數據段,您將如何處理? For循環?
- 數據離開套接字時出現同樣的問題。不過,在其他代碼示例中,我注意到人們在寫入套接字之前使用Node.js Buffer。爲什麼這不用於傳入數據?
- 如果寫入的數據超過可處理的數量,Node是否爲您處理此問題,或者是否需要提供方法?
最後我好像誤解了數據端。發送和接收的所有數據是否需要轉換爲二進制文件並返回?我只希望來回發送JSON數據。我認爲那裏存在我的困惑。例如:
var myQuestion = "Is this acceptable and will I encounter any issues?
socket.write(myQuestion);
非常感謝您的時間。
PS:我想從長遠的問題道歉。花2天通過各種論壇,羣組和其他職位曳,仍然沒有一個瞭解之後,我想也許有人可能的方式,我會得到解釋! :) –