Я посилаю файл з cat file1 | nc ip-address port
і отримати його з nc -l port > file2
і отримати файл вирізати. Розмір отриманого файлу становить 28467200 байтів (прибл. 28М) з прибл. 150M.
uname -a
Linux MyName 3.13.0-107-generic #154-Ubuntu SMP Tue Dec 20 09:57:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
На інших Linux у мене (Loki в VirtualBox всередині Windows7) це обмеження недоступне.
uname -a
Linux Loki-VirtualBox 4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Я також використовував інше програмне забезпечення як відправляючу сторону з таким же результатом, тому я звинувачую приймаючу частину.
У Wireshark я бачу (FIN, ACK) прапор, який робить з'єднання закритим, але я не можу знайти ніякої причини для цього.
Що може бути причиною такої поведінки?
EDIT: У разі використання nc -l port > filename
Я отримую 28M даних, але якщо використовую nc -l port > filename < /dev/null
, Я отримую 26 КБ даних (з цього питання: Надсилання файлу через netcat ). Чи пов'язана ця поведінка?
stderr
на кожному кінці і перевірте, чи є щось у журналах помилок. Також спробуйте передати як відправника, так і приймача на локальному комп'ютері, використовуючи 127.0.0.1
як IP-адреса відправника. До речі, ніколи не використовуйте cat file | program ...
- завжди використовуйте набагато ефективніше program <file ...
.
stderr
повідомлень. Коли ви говорите, що використовуєте localhost
не має значення, ви маєте на увазі, що відбувається одна й та ж помилка? На обох системах? Ви намагалися відправити файл подібного розміру в інший спосіб?