如何基于Workerman代码快速搭建自定义协议项目

96
xiaojianxu
2016.08.30 13:12* 字数 446

如何基于Workerman代码快速搭建自定义协议项目

@datetime: August/30/2016

- 我在简书的第一篇文章

>目录结构:

myapp

| — Protocols//自定义协议目录

|         |— Coap.php//自定义协议文件怎么写吗?后面再介绍

|         | — JsonNo.php

|         | — ….

| — …

| — ……

|

通过composer安装Workerman:composer require workerman/workerman

安装其他extension,如安装monolog:composer require monolog/monolog

根据Workerman手册,使用workerman必须要有一个入口文件。

新建一个入口文件:start.php

文件内容如下:

—包含composer自动生成的autoload.php文件

—使用Workerman命名空间

—实例化一个基于自建协议的Worker

—…各种回调函数与某些业务代码等…

具体代码内容(基于自定义协议Coap):

/**

* Created by PhpStorm.

* User: james

* Date: 8/30/16

* Time: 12:28 PM

*/

include_once'./vendor/autoload.php';

useWorkerman\Worker;

$coap_wk =newWorker('Coap://0.0.0.0:50008');

print_r($coap_wk);

Coap.php文件具体代码如下:

注意:Workerman做了一个interface ProtocolInterface.php,你又想要省功夫,最好就实现这个接口代码。这样子Workerman可以帮助你处理接受的请求,如:数据校验,数据解包,数据打包。😄,脏活,累活全部帮忙干好了。The Good Wife。

<?php

/**

* Created by PhpStorm.

* User: james

* Date: 8/30/16

* Time: 11:58 AM

*/

namespaceWorkerman\Protocols;

classCoap

{

public static functioninput($buffer)

{

$pos = strpos($buffer, "\n");

if($pos ===false)

{

return0;

}

return$pos + 1;

}

public static functionencode($buffer)

{

returnjson_encode($buffer) . "\n";

}

public static functiondecode($buffer)

{

    returnjson_decode(trim($buffer),true);

}

}

It’s so simple. Don't you think so?

个人订阅号,写生活与工作。目前,写生活更多一点。


PUBLISHED