У меня может быть момент блондинки, но я сижу над этим вопросом почти две недели.Мне действительно нужна помощь.
У меня есть сервер под управлением Node.js, у которого есть простая функция
app.post('/', (req, res) => {
//stream
var SEND_TO_CLIENT_E = function (message) {
var encrypt = Encrypt_AES(message, CONNECT_ID[ClientID]);
var str = JSON.stringify({
E: "E",
D: encrypt
})
console.log('str')
console.log(str)
var buf = Buffer.from(str);
res.write(buf);
}
//end stream
var SEND_TO_CLIENT_END = function () {
res.end();
}
}
У меня есть большое количество объектов Json, которые нужно отправлять, но в пакетном режиме.так, например,
obj 1
{"E":"E","D":"067fe5b5c2e93d21e06a49a48be69c5b516a128bf1c17aadbaeb764aff58259aa719e95941142cd1d74ce698678d9cd447b011b8790b6f79c58f545e273203572baea29843f8627c397b94b15f9d56313f57d464c64e23ae87cc2cf7cd2d20df978b943b8e1442e2e8e616dfbaa54386295ae6b1e4d1c0790cff1f583421060cb43ba37f3d02d4ec3cd0e21f166fa7008d1efa47361f037d2b2b83ab82eaa7e6040159c91a71080c14ca17406eab7a5b2cb95fbc64666905cf7b0f4d1ca83a06c1b7d44bcc862a866297fe4e819d97a06ee36e0f2c441c21a2b0647a5e9150b740ebf3b7442c2b2d5eef009c0af45a39873eb19a44f0eb6131ea235d6b33688d61cd117ebe56406099024b03f2d6cc7505de11c8b6542277ee817038b8e1517c906ed597734f768ce70a879bdf840d3dee10ba8fd832c37da644f87557c88807a05f88c3c07835c4573d21a75f9fa4f4ddeb4f9a229a1a0a82b87816263612fc71dbb81cb10421a654afd7ed24c120ecd4316566883c894fafd8da29d46735ae5d7d4dcbdfb2cfd4b0d2ca1ed1fd6b8"}
obj 2
{"E":"E","D":"067fe5b5c2e93d21e06a49a48be69c5b516a128bf1c17aadbaeb764aff58259a8c59ed61536d665118a99fe47eb7c7f5e25d1c11a6e724be49648befc493fadb92498f54a7c002b2ae6a76b2e95ff8ec7d5fbce81291334e14d13c8c7729529a437e01f8d2e6a9b8b6b8346eb6e71ffcf5bde499a4c0b0ad3e1547cdab1fc233d7666c163f1b7fab0dca35ca0de585239daafdfc3a1471fa0c9c8fe4f76d6ac7bb5a75991621008196f7aa7a334e1a4de6d6455105e56ac707356ac17f7b8c4a"}
obj 3
{"E":"E","D":"067fe5b5c2e93d21e06a49a48be69c5b516a128bf1c17aadbaeb764aff58259aa719e95941142cd1d74ce698678d9cd422037faeefdb5c594bb91f20f225d9e21da1b9ad70c3f1e35e48613b1929015b8eefc33b35cf9a1790028002f2634324a4925fa7ad9dc11d0426c4975a980dcbe40ee43817fd3bb7929f1a90ba6907a1"}
теперь это всего лишь пример, который я мог быу меня есть до 100000 объектов на стороне клиента, вот код подтверждения.
exports.POST = function (url, data, fn) {
fetch(Server_Ip + url, {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: data,
})
.then(response => Promise.all([response.json()]))
.then(([response]) => {
//set fetching back
fetching = false;
log.warn('response');
log.warn(response);
fn(response);
})
.catch(err => {
log.warn("error catch search:", err.message);
//set fetching back
fetching = false;
//fn({ D: 0 });
})
}
если я получу один объект, код работает нормально.клиент может читать и жизнь продолжается.Как только я отправляю непрерывную информацию, я получаю эту ошибку
поиск перехвата ошибок: недопустимое тело ответа json в http://127.0.0.1:6531/ причина: неожиданный токен {в JSON в позиции 31128
Насколько я понимаю, это попытка увидеть все как один объект.
Я все еще новичок в этом, поэтому мои базовые знания довольно ограничены, но я пытался гуглить.Я либо использую неправильные слова, либо ни у кого не было схожей проблемы.Пожалуйста, кто-нибудь наставит меня.