работает на сервере websockets javascript и golang, пытаясь отправить файлы и изображения - PullRequest
0 голосов
/ 11 апреля 2020

json отправка объекта с внешнего интерфейса javascript websockets похожа на

message_type: "1"
to: "umesh"
from: "moin"
body: ""
file: "{"filename":"reportesmtp.pdf" 
       ,"fileextension":"application/pdf" ,"filesize":61813 
       ,"filedata":"37,80,6848,52,48,57,....,10,37,37,69,79,70,10"}
       "
message_id: "9"
message_stage_id: "0"

эти данные отправляются

//javascript
websocket.send(data)  

после некоторых изменений и принимаются на сервере записано в golang в

//golang
websocket.JSON.Receive(u.Ws, &msg)

, приведенное выше дает ошибку как

err:  unexpected end of JSON input
err:  invalid character ',' after top-level value
err:  invalid character ',' looking for beginning of value

, однако работает нормально, пока размер файла не станет примерно 35 КБ. успешно не использует socket.io.

1 Ответ

0 голосов
/ 11 апреля 2020

Клиент фрагментирует сообщение, когда размер файла превышает приблизительно 35 КБ. Пакет golang .org / x / net / websocket не обрабатывает фрагментированные сообщения .

Исправлено с помощью одного из пакетов веб-сокетов, рекомендованных в документации golang .org / x / net / websocket :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...