文档参考 https://tarscloud.github.io/TarsDocs/hello-world/tarsphp.html#chapter-3
tars-server 提供了底层的 server 框架,同时支持如下特性
安装节点
docker run -d --name=tars_node_tcp --net=tars -e INET=eth0 -e WEB_HOST="http://172.25.0.3:3000" --ip="172.25.0.6" -v /Users/clz/Tars/tars_node_tcp:/data/app -e TZ=Asia/Shanghai? -p 9021-9031:9000-9010 tarscloud/tars-node:php
创建服务
与创建http服务不同,这里选择tars协议
官方提供的demo https://github.com/TarsPHP/TarsPHP/tree/master/examples/tars-tcp-server
tars目录下创建 tarsclient.proto.php 内容如下
return array(
‘appName‘ => ‘HelloWorld‘,
‘serverName‘ => ‘TCPServer‘,
‘objName‘ => ‘obj‘,
‘withServant‘ => true, //决定是服务端,还是客户端的自动生成
‘tarsFiles‘ => array(
‘./example.tars‘,
),
‘dstPath‘ => ‘../src/servant‘,
‘namespacePrefix‘ => ‘Server\servant‘,
);
tars.proto.php 内容修改如下
return array(
‘appName‘ => ‘HelloWorld‘,
‘serverName‘ => ‘TCPServer‘,
‘objName‘ => ‘obj‘
);
对src里面的文件名称、命名空间、obj也做对应的修改
进入到src 执行composer install
cd scripts && ./tars2php.sh
会生成src/servant目录
tars-client 中提供了对 tars 服务进行调用的 php 能力,包括:
进入src目录打包部署 composer run-script deploy
在接口调试里上传TCPServer.tars进行调试
调试成功
原文:https://www.cnblogs.com/webclz/p/13547442.html