Вы, вероятно, забываете переключать режим передачи на двоичный файл. Системы UNIX/Linux обрабатывают конец строки, отличающейся от систем Windows/DOS. FTP делает преобразование, если режимом передачи является ASCII. Необходимо прочитать руководство FTP kliens, как переключиться на режим двоичного счета. При использовании версии командной строки, необходимо использовать команду binary
или bin
.
WebSockets лучше, потому что Вы сохраняете соединение открытым и не отправляете дополнительные заголовки протокола и другой материал после каждого запроса и ответа. Посмотрите на эту статью:
Во время устанавливания связи с WebSocket клиент и сервер обменивается данными на кадр, который составляет 2 байта каждый, по сравнению с 8 килобайтами http заголовка, когда Вы делаете непрерывный опрос.
websockets является более оптимальным вариантом, но это еще не находится во всех браузерах. Если Вы пойдете тем путем, то Вы захотите использовать SocketIO на клиенте и node.js стороне. Это обеспечит обработку отказа для высвечивания сокетов, если браузер еще не будет поддерживать websockets.
Вы получаете на websockets начиная с данных, которые передают обратно серверу, не является столь же большим как получить запрос.