文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用pack函数发送二进制数据

使用pack函数发送二进制数据

时间:2010-08-07  来源:Greel

sub send_msg {
    my ($msg_len, $device, $msg) = @_;
    my $sock = IO::Socket::INET->new(PeerAddr => $remote_host,
                                   PeerPort => $remote_port,
                                   Proto => "tcp",
                                   Type => SOCK_STREAM) or die "can't connect to $remote_host\n";

    $msg = pack("A$msg_len", $msg);
    $msg = "" if ($device < 0);
    $msg_len = 0 if ($device < 0);
    $msg_len = pack("i1", $msg_len);
    $device = pack("i1", $device);
    print $sock $msg_len;
    print $sock $device;
    print $sock $msg;
    close($sock);
}

 

这个函数的作用就是在sock上二进制发送数据,可以在对端用c写的代码从sock上接受数据

其中最重要的就是pack函数的使用

$msg_len = pack("i1", $msg_len);如果$msg_len是10的话,在输出就可以看到0A00 0000的样子,这是小端格式的输出。可以直接在网络上发送,在对端可以用字节流的sock来读取。

相关阅读 更多 +
排行榜 更多 +
零界之痕手游安卓下载

零界之痕手游安卓下载

角色扮演 下载
漫游都市手机版下载

漫游都市手机版下载

赛车竞速 下载
涡轮螺旋桨飞行模拟器无限金币版下载

涡轮螺旋桨飞行模拟器无限金币版下载

模拟经营 下载