Могу ли я создать в Perl сообщение типа сети, которое имеет нечетную длину байта - PullRequest
1 голос
/ 06 мая 2011
$str = "0xa"; #my hex number
$m = pack("n",hex("$str")); --> the output is 000a 
$m = pack("c",hex("$str")); --> the output is 0a 

Мне нужно, чтобы результат был только a. Суть в том, что с пакетом я могу отправлять в сокет сообщения нечетной длины (например, A675). Если я попытаюсь отправить A675B, то с пакетом у меня будет A6750B

1 Ответ

4 голосов
/ 06 мая 2011

A675 - это два байта. A675B - это два с половиной байта. Сокеты не поддерживают отправку чего-либо меньшего, чем байт. Вы можете послать флаг, который говорит получателю игнорировать один кусочек сообщения, но это все.

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