gpt4 book ai didi

php - 是否可以在 PHP 中制作类似 c 的二进制数据(结构)

转载 作者:行者123 更新时间:2023-12-04 05:46:13 25 4
gpt4 key购买 nike

这是 C 代码。

#pragma pack(push,1)
typedef struct _DATA_PKT_D1
{
char length[2];
char command[2];
char src[64];
char lordId;
char user_id[20];
int level;
char isFine;
char company_code;
}DATA_PKT_D1;
#pragma pack(pop)

DATA_PKT_D1 *pkt = malloc(sizeof(DATA_PKT_D1);

//send pkt through TCP socket.

数据包为 95 字节。
我知道 php 也有 tcp socket 功能。
但是,是否可以在 php 中使数据包完全相同? (我的意思是 95 字节)
并通过 tcp 发送数据?

我怀疑php具有二进制级别的结构功能......

任何提示lz~

最佳答案

是的,用 PHP 构建二进制数据是完全可能的,虽然有点,不,很多,不如 C 优雅。你需要 pack/unpack 函数,它可以让你从 php 变量中编写二进制缓冲区。见 http://php.net/manual/en/function.pack.php

过去,我已经为二进制协议(protocol)(甚至加密)实现了 UDP 服务器和客户端,它很丑,但它可以工作。您唯一应该注意的是字节序。

关于php - 是否可以在 PHP 中制作类似 c 的二进制数据(结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10648842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com