feat: 实现TCP Server
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace app\net;
|
||||
|
||||
/**
|
||||
* 报文类型枚举
|
||||
* 对应原hexType的数字值:0-未知,1-有线读卡器,2-无线读卡器,3-电流采集器,4-新版电流采集器
|
||||
*/
|
||||
enum PacketType: int
|
||||
{
|
||||
// 未知类型(默认)
|
||||
case UNKNOWN = 0;
|
||||
// 有线读卡器
|
||||
case WIRED_READER = 1;
|
||||
// 无线读卡器
|
||||
case WIRELESS_READER = 2;
|
||||
// 电流采集器
|
||||
case CURRENT_COLLECTOR = 3;
|
||||
// 新版电流采集器
|
||||
case NEW_CURRENT_COLLECTOR = 4;
|
||||
|
||||
/**
|
||||
* 从整数值获取枚举实例(兼容原有数字逻辑)
|
||||
* @param int $value
|
||||
* @return self
|
||||
*/
|
||||
public static function fromValue(int $value): self
|
||||
{
|
||||
return match ($value) {
|
||||
1 => self::WIRED_READER,
|
||||
2 => self::WIRELESS_READER,
|
||||
3 => self::CURRENT_COLLECTOR,
|
||||
4 => self::NEW_CURRENT_COLLECTOR,
|
||||
default => self::UNKNOWN,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取友好的类型名称(用于日志/展示)
|
||||
* @return string
|
||||
*/
|
||||
public function getName(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::UNKNOWN => '未知报文',
|
||||
self::WIRED_READER => '有线读卡器报文',
|
||||
self::WIRELESS_READER => '无线读卡器报文',
|
||||
self::CURRENT_COLLECTOR => '电流采集器报文',
|
||||
self::NEW_CURRENT_COLLECTOR => '新版电流采集器报文',
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user