代码同步

This commit is contained in:
Ghost
2025-03-24 14:59:19 +08:00
parent f0fa19f89f
commit bd2e1e5386
716 changed files with 90318 additions and 26155 deletions

View File

@@ -0,0 +1,8 @@
<?php
namespace WebSocket\Message;
class Binary extends Message
{
protected $opcode = 'binary';
}

View File

@@ -0,0 +1,8 @@
<?php
namespace WebSocket\Message;
class Close extends Message
{
protected $opcode = 'close';
}

View File

@@ -0,0 +1,25 @@
<?php
namespace WebSocket\Message;
use WebSocket\BadOpcodeException;
class Factory
{
public function create(string $opcode, string $payload = ''): Message
{
switch ($opcode) {
case 'text':
return new Text($payload);
case 'binary':
return new Binary($payload);
case 'ping':
return new Ping($payload);
case 'pong':
return new Pong($payload);
case 'close':
return new Close($payload);
}
throw new BadOpcodeException("Invalid opcode '{$opcode}' provided");
}
}

View File

@@ -0,0 +1,53 @@
<?php
namespace WebSocket\Message;
use DateTime;
abstract class Message
{
protected $opcode;
protected $payload;
protected $timestamp;
public function __construct(string $payload = '')
{
$this->payload = $payload;
$this->timestamp = new DateTime();
}
public function getOpcode(): string
{
return $this->opcode;
}
public function getLength(): int
{
return strlen($this->payload);
}
public function getTimestamp(): DateTime
{
return $this->timestamp;
}
public function getContent(): string
{
return $this->payload;
}
public function setContent(string $payload = ''): void
{
$this->payload = $payload;
}
public function hasContent(): bool
{
return $this->payload != '';
}
public function __toString(): string
{
return get_class($this);
}
}

View File

@@ -0,0 +1,8 @@
<?php
namespace WebSocket\Message;
class Ping extends Message
{
protected $opcode = 'ping';
}

View File

@@ -0,0 +1,8 @@
<?php
namespace WebSocket\Message;
class Pong extends Message
{
protected $opcode = 'pong';
}

View File

@@ -0,0 +1,8 @@
<?php
namespace WebSocket\Message;
class Text extends Message
{
protected $opcode = 'text';
}