项目中用到的是AsyncTcpConnection,主要是是为了获取异步返回的数据。
用户向服务器发送指令,由AsyncTcpConnection返回同步数据(指令是否成功发送)和异步数据(指令成功发送后返回的数据)。
比如说:用户向服务器发送寻车指令,返回的同步数据是指令发送成功,异步数据是GPS数据,主要获取的就是异步返回的数据。
现在在dos中,可以收发数据,但指令是由用户发送,所以要写个接口获取用户发送的指令,然后调用workerman获取指令返回的数据。
因为workerman只能用命令行运行,即便接口调用了workerman,也是显示超时,而且程序并没有执行。所以workerman是不能供外部调用了是吗?
workerman只能在命令行运行哦
在windows环境下就不能了?
windows下是cmd命令行运行
@2710:怎么写成接口供别人调用呢?
启动http服务,或者web走curl请求workerman
我把一个workerman和我其他的代码封装成了一个类,然后在一个文件中实例化这个类,想用这个文件,作为接口供别人调用,要怎么做?
不要按照原先的开发php套路走,你可以把workerman当做独立的服务,类似mysql
@1399:越说越懵了。
当成两个框架,workerman启动http服务,另一个webServer使用curl访问,类似于手机短信接口,而不是传统的sdk类库!
或者直接用workerman的WebServer 处理
@1399:我现在的问题是,在dos中执行这个文件,workerman可以正常运行,但是在浏览器中访问这个文件,就超时了。
@1399:WebServer 可以实现,在浏览器中也能访问workerman吗?
workerman只能在命令行启动,不能用网页启动
如果封装个借口供外部调用呢?
@workerofmine 本人小白一枚,请问下大神,怎么使用AsyncTcpConnection调用的,能不能讲解下。我也遇到了同样的问题,也想要接口直接能发送socket请求指令到服务器,服务器接收再返回。
启动两个服务
服务1:
$webserver = new WebServer('http://0.0.0.0:80);
配置路由 或者或者启动http服务提供接口
业务
$Async = new AsyncTcpConnection('http://www.xxx.com');//根据其实需求使用不同的协议
服务2正常启动各种服务等待Async连接
方案二
直接启动http服务,使用curl来访问,至于在浏览器运行,可以使用其他框架来和服务通信
方案二是不通过workerman来获取异步数据是吗?
公司的要求是通过socket来获取数据。
请问,第一种方式的webserver ,是怎么用的?