t3ran13/bytebuffer

Node.js inspired byte stream buffer for PHP.

v1.0.6 2020-10-21 17:13 UTC

This package is auto-updated.

Last update: 2024-06-22 01:18:28 UTC


README

PHP Library for reading and writing binary data

Build Status No Maintenance Intended

I intentionally needed that for writing a PHP Client for TrafficCop. But the source grows so I decided to move it into an own package. You can also call this a pack() wrapper.

Install Via Composer

composer require t3ran13/bytebuffer

Example

A simple usage example could look like this

<?php

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

use t3ran13\ByteBuffer\ByteBuffer;

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

$buffer = new ByteBuffer();
$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());

ToDo's

  • Write Documentation
  • Improve examples
  • Allow Buffer as constructor
  • Write test for concatinating buffers

License

Licensed under the MIT license.