All Projects → dazzle-php → socket

dazzle-php / socket

Licence: MIT license
Dazzle Async Socket

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to socket

Kalm.js
The socket manager
Stars: ✭ 155 (+715.79%)
Mutual labels:  socket, tcp, udp, ipc
Ohsce
PHP HI-REL SOCKET TCP/UDP/ICMP/Serial .高可靠性PHP通信&控制框架SOCKET-TCP/UDP/ICMP/硬件Serial-RS232/RS422/RS485 AND MORE!
Stars: ✭ 206 (+984.21%)
Mutual labels:  socket, tcp, udp, ipc
Socket
Non-blocking socket and TLS functionality for PHP based on Amp.
Stars: ✭ 122 (+542.11%)
Mutual labels:  socket, unix, tcp, udp
Go Netstat
A netstat implementation written in Go
Stars: ✭ 121 (+536.84%)
Mutual labels:  socket, tcp, udp
T Io
解决其它网络框架没有解决的用户痛点,让天下没有难开发的网络程序
Stars: ✭ 1,331 (+6905.26%)
Mutual labels:  socket, tcp, udp
Goproxy
🔥 Proxy is a high performance HTTP(S) proxies, SOCKS5 proxies,WEBSOCKET, TCP, UDP proxy server implemented by golang. Now, it supports chain-style proxies,nat forwarding in different lan,TCP/UDP port forwarding, SSH forwarding.Proxy是golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,黑白名单,限速,限流量,限连接数,跨平台,KCP支持,认证API。
Stars: ✭ 11,334 (+59552.63%)
Mutual labels:  socket, tcp, udp
Async Sockets Cpp
Simple thread-based asynchronous TCP & UDP Socket classes in C++.
Stars: ✭ 127 (+568.42%)
Mutual labels:  socket, tcp, udp
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (+594.74%)
Mutual labels:  socket, tcp, ipc
RRQMSocket
TouchSocket是.Net(包括 C# 、VB.Net、F#)的一个整合性的、超轻量级的网络通信框架。包含了 tcp、udp、ssl、http、websocket、rpc、jsonrpc、webapi、xmlrpc等一系列的通信模块。一键式解决 TCP 黏分包问题,udp大数据包分片组合问题等。使用协议模板,可快速实现「固定包头」、「固定长度」、「区间字符」等一系列的数据报文解析。
Stars: ✭ 286 (+1405.26%)
Mutual labels:  socket, tcp, udp
Ssokit Qmake
A Simple & Strong Tool for TCP&UDP Debug
Stars: ✭ 231 (+1115.79%)
Mutual labels:  socket, tcp, udp
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (+1036.84%)
Mutual labels:  socket, tcp, udp
KingNetwork
KingNetwork is an open source library to facilitate the creation and communication of clients and servers via TCP, UDP, WebSocket and RUDP sockets.
Stars: ✭ 78 (+310.53%)
Mutual labels:  socket, tcp, udp
Veza
IPC/TCP Networking Utility to connect several processes with great concurrency.
Stars: ✭ 45 (+136.84%)
Mutual labels:  socket, tcp, ipc
Godsharp.socket
An easy-to-use .NET socket server and client.
Stars: ✭ 35 (+84.21%)
Mutual labels:  socket, tcp, udp
Goridge
High-performance PHP-to-Golang IPC bridge
Stars: ✭ 950 (+4900%)
Mutual labels:  socket, unix, tcp
Bigq
Messaging platform in C# for TCP and Websockets, with or without SSL
Stars: ✭ 18 (-5.26%)
Mutual labels:  socket, tcp, message
Yasio
A multi-platform support c++11 library with focus on asio (asynchronous socket I/O) for any client application.
Stars: ✭ 483 (+2442.11%)
Mutual labels:  socket, tcp, udp
Elixir Socket
Socket wrapping for Elixir.
Stars: ✭ 642 (+3278.95%)
Mutual labels:  socket, tcp, udp
Socket
The Hoa\Socket library.
Stars: ✭ 61 (+221.05%)
Mutual labels:  socket, tcp, udp
AndroidNetMonitor
This project aims to collect and analyze traffic information of Android.(采集手机发送和接收的报文简要信息,并且根据socket记录每个报文对应哪个手机app)
Stars: ✭ 25 (+31.58%)
Mutual labels:  socket, tcp, udp

Dazzle Async Socket

Build Status Code Coverage Code Quality Latest Stable Version Latest Unstable Version License

Note: This repository is part of Dazzle Project - the next-gen library for PHP. The project's purpose is to provide PHP developers with a set of complete tools to build functional async applications. Please, make sure you read the attached README carefully and it is guaranteed you will be surprised how easy to use and powerful it is. In the meantime, you might want to check out the rest of our async libraries in Dazzle repository for the full extent of Dazzle experience.


Description

Dazzle Socket is a component that implements asynchronous tcp, udp and unix socket handling for PHP. The library also provides interface for implementing self inter-process communication via external services.

Feature Highlights

Dazzle Socket features:

  • Asynchronous handling of incoming and outcoming messages,
  • Support for TCP, UDP and Unix sockets,
  • ...and more.

Provided Example(s)

Quickstart

Server file which accepts the range in format of $min-$max and returns randomized number.

$loop = new Loop(new SelectLoop);
$server = new SocketListener('tcp://127.0.0.1:2080', $loop);

$server->on('connect', function($server, SocketInterface $client) {
    $client->write("Hello!\n");
    $client->write("Welcome to Dazzle server!\n");
    $client->write("Tell me a range and I will randomize a number for you!\n\n");

    $client->on('data', function(SocketInterface $client, $data) use(&$buffer) {
        $client->write("Your number is: " . rand(...explode('-', $data)));
    });
});

$loop->onStart(function() use($server) {
    $server->start();
});
$loop->start();

Client file which sends the $min-$max format to the above server and gets the response.

$loop = new Loop(new SelectLoop);
$socket = new Socket('tcp://127.0.0.1:2080', $loop);

$socket->on('data', function($socket, $data) {
    printf("%s", $data);
});
$socket->write('1-100');

$loop->start();

Additional

Additional examples can be found in example directory. Below is the list of provided examples as a reference and preferred consumption order:

If any of the above examples has left you confused, please take a look in the tests directory as well.

Requirements

Dazzle Socket requires:

  • PHP-5.6 or PHP-7.0+,
  • UNIX or Windows OS.

Installation

To install this library make sure you have composer installed, then run following command:

$> composer require dazzle-php/socket

Tests

Tests can be run via:

$> vendor/bin/phpunit -d memory_limit=1024M

Versioning

Versioning of Dazzle libraries is being shared between all packages included in Dazzle Project. That means the releases are being made concurrently for all of them. On one hand this might lead to "empty" releases for some packages at times, but don't worry. In the end it is far much easier for contributors to maintain and -- what's the most important -- much more straight-forward for users to understand the compatibility and inter-operability of the packages.

Contributing

Thank you for considering contributing to this repository!

License

Dazzle Socket is open-sourced software licensed under the MIT license.


"Everything is possible. The impossible just takes longer." ― Dan Brown

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].