Skip to content

A simple message pusher written based on workerman, which can simulate WEB background unidirectional push business notification to clients asynchronously.

Notifications You must be signed in to change notification settings

blogdaren/workerman-pusher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workerman-Pusher

What is it

A simple message pusher written based on workerman, which can simulate WEB background one-way push business notification to clients asynchronously.

workerman-pusher 是基于workerman开发的一个异步消息推送器: 它能够模拟WEB后台单向异步推送业务通知。

Animation

demo

Prerequisites

  • PHP >= 7.0
  • A POSIX compatible operating system (Linux, OSX, BSD)
  • POSIX extensions for PHP
  • PCNTL extensions for PHP

Configuration

return array(
    //调试
    'debug' => true,

    //默认测试域名: 记得配置 /etc/hosts !!!
    'domain' => 'www.pusher.com',

    //模拟uid(也可以是订单id | 也可以是任务id | ....)
    'uids' => array('1', '2', '3', '4', '5', '6'),

    //超时: 秒
    'timeout' => array(
        'reconnect' => 2,
    ),

    //间隔: 秒
    'interval' => array(
        //页面弹窗通知间隔时间
        'notice' => 3,
        //客户端发送心跳间隔时间
        'client_heart' => 1,
    ),

    //socket
    'socket' => array(
        //监听服务
        'listen' => array(
            'web'       => 'http://0.0.0.0:7777',
            'pusher'    => 'websocket://0.0.0.0:3000',
            'inner'     => 'text://0.0.0.0:4000',
        ),
        //连接哪个内部推送地址
        'connect' => array(
            'inner'  => 'text://192.168.1.100:4000',
        ),
    ),
    //ping - heartbeat - 秒
    'ping' => array(
        'interval' => 10,
        'data'     => '',
        'is_force_client_to_ping_server'    => true,
    ),
);

Usage

Assume your Server IP is: 192.168.1.100

  • step-1、install dependency packages:
composer install
  • step-2、append one line below to /etc/hosts:
192.168.1.100  www.pusher.com
  • step-3、start workerman-pusher server:
php start.php start
  • step-4、you can start built-in client like this:
php Applications/Pusher/start_client.php start
  • step-4、or you can write client in PHP by yourself like this:
mainly use functions like `stream_socket_client()`, `fread()` , `fwrite()` and so on
  • step-4、or you can have a simple test by telnet:
telnet 192.168.1.100 4000

Demostrate

demo1

demo2

demo3

demo4

Related links and thanks

About

A simple message pusher written based on workerman, which can simulate WEB background unidirectional push business notification to clients asynchronously.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages