Я пытаюсь отправить скалярное значение по сокету, которое у меня есть с nfreeze из хранилища. Шаг за шагом:Отправить пакеты данных по UDP
- Я получаю Скалярное
$serializedHash = nfreeze \%hash;
- Я хочу, чтобы отправить его через гнездо
$sendSocket->send($serializedHash);
Это работает отлично, до тех пор, как скалярное не больше, чем 1024byte. Поскольку у меня есть с другой стороны сокет, который может принимать только данные с макс. длина 1024 байт. Я также не могу хранить в файле, а затем обрабатывать его с помощью sysread
и syswrite
.
То, что я не хочу, - это отправлять каждую строку на каждый сокет, поскольку мой хэш имеет более 2 миллионов записей. Элемент хеширования разделен \n
, поэтому я попробовал функцию split
, но затем у меня есть массив с 2 миллионами записей.
Как я могу отправить данные в пакетах через сокет UDP?
Почему UDP? На самом деле это не так. (См. Мой комментарий к отвечу raina77ow для получения дополнительной информации.) – ikegami