我在Perl的功能,以這種方式讀取模板包:解壓功能要求在Perl
sub read_packet {
my $contents = shift;
my @decode = unpack('nnnN', $contents);
my $version = $decode[0];
my $identifier = $decode[1];
my $type = $decode[2];
my $size = $decode [3];
@contents = ($version, $identifier, $type, $size);
return (@contents);
}
的變化被要求在解包功能的模板。現在$標識符必須支持32位,所以根據PerlMonks:Pack/Unpack Tutorial (aka How the System Stores Data)(N) - > n,N在「網絡」(大端)順序中的A 16/32比特值。
因此,函數被重寫,做了這個小小的改變。現在,發送「數據包」的程序可能會發送16/32位值。 客戶要求我支持16/32位。當數據包包含16或32位標識符時,我該怎麼做?
檢查數據包的大小? – choroba
@choroba,我無法找到該文件,pelase,你可以指點我的文檔。 – crsuarezf