需求是這樣的。
我作為一個(gè)客戶端需要SOCKET連接另外一個(gè)公司提供的平臺(tái)(下簡(jiǎn)稱平臺(tái)A)。也就是我本身是一個(gè)SOCKET客戶端。
?
但是同時(shí)我又是一個(gè)接口的提供方。需要通過HTTP方式將一些數(shù)據(jù)返回給調(diào)用我接口的人。這些數(shù)據(jù)需要到平臺(tái)A去獲取。那么最適合我的方式應(yīng)該是什么樣的
?
需要保持長(zhǎng)連接 因?yàn)槠脚_(tái)A是需要登錄的。
?
$worker = new Worker('http://0.0.0.0:9090');
$worker->onWorkerStart = function() {
? ? global $client_A;
? ? $client_A?= stream_socket_client('tcp://平臺(tái)A的ip:port');
? ? fwrite($client_A, '登錄數(shù)據(jù)');
};
$worker->onMesage = function($connection, $data) {
? ??global $client_A;
? ? fwrite($client_A, '向A發(fā)送的數(shù)據(jù)');
? ? $result = fread($client_A, 65535);
? ? $connection->send($result);
};
看起來大概是這樣