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