我有一个JSON文件,如下所示.虽然文件本身似乎不必要地长了一个例子,但我有理由把它包括在内.基本上,在我看来,我的文件太大,无法通过TCP到我的实时网站.
{
"FormatNumber": 1,
"Team_Types": [{
"Teams": "EmmersonCod",
"Channels": [{
"Team_Name": "Tanaka",
"Team_Members": 1,
"Team_Mascot": "Dolphin"
},
{
"Team_Name": "Drago",
"Team_Members": 2,
"Team_Mascot": "Lundgren"
},
{
"Team_Name": "Apollo",
"Team_Members": 3,
"Team_Mascot": "Crews"
},
{
"Team_Name": "Cobra",
"Team_Members": 4,
"Team_Mascot": "Kai"
}
]
},
{
"Teams": "Candy",
"Channels": [{
"Team_Name": "Simson",
"Team_Members": 1,
"Team_Mascot": "The"
},
{
"Team_Name": "Rick",
"Team_Members": 2,
"Team_Mascot": "Sanchez"
}
]
},
{
"Teams": "FoxNews",
"Channels": [{
"Team_Name": "David",
"Team_Members": 1,
"Team_Mascot": "Bannon"
},
{
"Team_Name": "Rickety", …Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的NodeJS TCP服务器,Java Client发送一个映像:
encodedImage = <a base64 encoded image>
out.write("IMG;" + encodedImage);
out.flush();
Run Code Online (Sandbox Code Playgroud)
我的NodeJS服务器如下:
net.createServer(function(TCPSocket){
TCPSocket.on("data", function(data){
console.log("TCP Recieved: " + data.length);
});
}).listen(5000);
Run Code Online (Sandbox Code Playgroud)
但是,即使我发送所有数据并立即刷新它,输出如下:
TCP Recieved: 13
TCP Recieved: 1344
TCP Recieved: 1344
TCP Recieved: 1344
TCP Recieved: 1344
TCP Recieved: 1344
TCP Recieved: 1472
TCP Recieved: 1344
TCP Recieved: 1344
TCP Recieved: 1344
TCP Recieved: 1344
Run Code Online (Sandbox Code Playgroud)
我想让它在一个简单的块中接收它,但我认为它是由于NodeJS的事件处理机制而发生的,对于作为单个块发送的数据实现单块数据的最佳方法是什么?据我所知,TCP窗口可能比1344字节的数据大得多.我想过将标头值用作HTTP,所以我知道ad的长度构造了我想要的对象.