首先恭喜,进入物联网。
设备升级,要求微信小程序支付成功后,套餐机自动发货。就要求使用tcp://*.*.0.0:2346进行通信,了解到服务器只能用TCP协议连接客户端,客户端可以HTTP协议发送请求到服务段,要求一个星期上线,压力山大,快快找下前辈,推荐了GatewayWorker。
下载
选择的Liunx+Nginx+PHP,推荐使用云服务器(宝塔面板,傻瓜操作)
进入系统,急急忙忙启动Workerman:php start.php start(注意:在start.php所在目录下,用# ls查看)
函数被禁用,如果是宝塔用户,进入软件商店->设置,删除对应函数,如果不是,进入PHP.ini搜索disable_functions,删除一个又一个,再次启动,还是错,先看看系统是否支持Workerman
curl -Ss http://www.workerman.net/check | php
在取消pcntl_signal_dispatch禁用,在次start
端口被禁用,添加放行端口/入网端口1238,在start,还是一样,这是因为之前启动没成功的,但进程在运行
fuser -v -n tcp 1238
kill -9 进程号(上面命令显示的)
在次php start.php start,终于成功了
总结:主要是服务器环境问题;在阿里云还需要开启入网端口2346;Workerman中消息必须是json,服务端IP设为0.0.0.0(所有人),127.0.0.1(仅本机)。本文最有价值的是在线端口测试,自己捣鼓半天,不知道是否建立了连接,我下载了N个TCP工具,都只能局域网内使用。