PHP当作客户端访问连接另外一个socket的方法
生活随笔
收集整理的這篇文章主要介紹了
PHP当作客户端访问连接另外一个socket的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述:php文件作為前端界面 連接另外一個服務器的socket
范圍:所有php程序
框架:workerman 下載地址:http://www.chtml.cn/product/show/10930
官方示例 詳細見AsyncTcpConnection類 workerman手冊
<?php use Workerman\Worker; use Workerman\Connection\AsyncTcpConnection; require_once __DIR__ . '/Workerman/Autoloader.php';$worker = new Worker();$worker->onWorkerStart = function($worker){// 設置訪問對方主機的本地ip及端口(每個socket連接都會占用一個本地端口)$context_option = array('socket' => array(// ip必須是本機網卡ip,并且能訪問對方主機,否則無效'bindto' => '這是你的網卡ip:2333',),);$con = new AsyncTcpConnection('ws://wb.youqiong.net:80', $context_option);$con->onConnect = function($con) {$con->send('hello');};$con->onMessage = function($con, $data) {echo $data;};$con->onClose = function($con) {// 如果連接斷開,則在1秒后重連$con->reConnect(1);};$con->connect(); }; Worker::runAll();配合gateway-worker使用
public static function onWorkerStart($businessWorker){// 設置訪問對方主機的本地ip及端口(每個socket連接都會占用一個本地端口)$context_option = array('socket' => array(// ip必須是本機網卡ip,并且能訪問對方主機,否則無效'bindto' =>'這是你的網卡ip:2333',),);$con = new AsyncTcpConnection('ws://wb.youqiong.net:8887', $context_option);$con->onConnect = function($con) {$con->send('66666');};$con->onMessage = function($con, $data) {echo $data;};$con->onClose = function($con) {// 如果連接斷開,則在1秒后重連$con->reConnect(1);};$con->connect();}獲取自己服務器的網卡ip的方法
1.centos ifconfig 7.0以上版本 ip addr
2.window ipconfig
3.ubuntu ifconfig
注釋:這塊可以任意把這個代碼片段放到任何一個workerman執行文件里 要是初始化的哪個流程中使用。
總結
以上是生活随笔為你收集整理的PHP当作客户端访问连接另外一个socket的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 除了uni-app可以做app外,flu
- 下一篇: /* program p5_04_AC