国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請問下大大 有做過類似淘寶推送消息處理的案例呢?

641221621

目前是這樣的 我想建立長連接 接受淘寶推送過來的消息 進行處理。

淘寶只給出了C# 跟 java 的 代碼

這是C# 的代碼 如下:

TmcClient client =   new  TmcClient(  "appkey"  ,   "appsecret"  ,   "default"  );   // 關(guān)于default參考消息分組說明
client.OnMessage += (s, e) =>
{
      try
      {
          Console.WriteLine(e.Message.Topic);
          Console.WriteLine(e.Message.Content);
          // 默認(rèn)不拋出異常則認(rèn)為消息處理成功
      }
      catch  (Exception exp)
      {
          Console.WriteLine(exp.StackTrace);
          e.Fail();   // 消息處理失敗回滾,服務(wù)端需要重發(fā)
      }
};
client.Connect(  "ws://mc.api.taobao.com/"  ); // 消息環(huán)境地址
  • 請問 如果用 workerman 寫的話 應(yīng)該怎么寫呢???? 有類似的例子嗎?

6587 2 0
2個回答

641221621

因為我看官方文檔里面

<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';

// 創(chuàng)建一個Worker監(jiān)聽2346端口,使用websocket協(xié)議通訊
$ws_worker = new Worker("websocket://0.0.0.0:2346");

// 啟動4個進程對外提供服務(wù)
$ws_worker->count = 4;

// 當(dāng)收到客戶端發(fā)來的數(shù)據(jù)后返回hello $data給客戶端
$ws_worker->onMessage = function($connection, $data)
{
    // 向客戶端發(fā)送hello $data
    $connection->send('hello ' . $data);
};

// 運行worker
Worker::runAll();

這是使用WebSocket協(xié)議對外提供服務(wù) 有沒有可以監(jiān)聽 不如淘寶的 ws://mc.api.taobao.com/

這個鏈接的方法了 只要那邊又?jǐn)?shù)據(jù)推送 這邊來業(yè)務(wù)處理數(shù)據(jù)!

  • 暫無評論
walkor 打賞

需要用php寫一個能解析websocket客戶端協(xié)議的類。
把workerman當(dāng)做客戶端來主動向ws://mc.api.taobao.com/ 發(fā)起連接,并接收數(shù)據(jù)。Workerman代碼類似如下

use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
require_once './Workerman/Autoloader.php';

$ws_worker = new Worker();
$ws_worker->onWorkerStart = function($ws_worker)
{
    $con_to_taobao = new AsyncTcpConnection('tcp://mc.api.taobao.com:80');
    $con_to_taobao->onMessage = function($con_to_taobao, $buffer)
    {
        // $buffer是淘寶發(fā)來的數(shù)據(jù),數(shù)據(jù)是websocket協(xié)議的,
        // 有個websocket頭,會是亂碼,要自己按照客戶端websocket協(xié)議解析
    };
    $con_to_taobao->connect();
};
Worker::runAll();

AsyncTcpConnection異步連接通訊見手冊說明
http://doc3.workerman.net/worker-development/__construct.html

年代過于久遠(yuǎn),無法發(fā)表回答
??