trafficcophp/bytebuffer

受Node.js启发的PHP字节流缓冲区。

v0.3 2016-01-13 22:50 UTC

This package is not auto-updated.

Last update: 2024-09-20 14:05:13 UTC


README

Build Status No Maintenance Intended

我故意需要它来编写一个TrafficCop的PHP客户端。但随着源代码的增长,我决定将其移入一个单独的包中。你也可以称它为pack()包装器。

安装

应通过composer进行安装。

{
    "require": {
        "TrafficCophp/ByteBuffer": "dev-master"
    }
}

示例

一个简单的使用示例可能如下所示

<?php

require __DIR__ . '/vendor/.composer/autoload.php';

use TrafficCophp\ByteBuffer\ByteBuffer;

$channel = 'channel_one';
$message = 'php';

$buffer = new ByteBuffer(4 + 1 + 4 + strlen($channel) + strlen($message));
$buffer->writeInt32BE($buffer->length(), 0);
$buffer->writeInt8(0x1, 4);
$buffer->writeInt32BE(strlen($channel), 5);
$buffer->write($channel, 9);
$buffer->write($message, 9 + strlen($channel));

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, '127.0.0.1', 3542);

socket_write($socket, (string) $buffer, $buffer->length());

待办事项

  • 编写文档
  • 改进示例
  • 允许将缓冲区作为构造函数
  • 编写测试以连接缓冲区

许可证

在MIT许可证下授权。