php如何像客户端那样向socket服务器推送数据?

命中水水水

我在本地如何用php语言向socket服务器发送数据,并收到服务器推送结果

web-msg-sender好像是客户端->服务端服务端->客户端之间的沟通,那么我如果用php向socket服务器推送数据呢?这个要如何实现,我的假想是socket服务器那里提供一个接口,然后接口里引入socket服务,再进行相应推送,代码如下

$sender_io = new SocketIO(2120);
// 客户端发起连接事件时,设置连接socket的各种事件回调
// 
$post = $_POST;
if($post) {
    $sender_io->emit('post_data', $post);
}

请问这样做可以吗?

5156 4 0
4个回答

命中水水水

不好意思这个问题我已经解决了。php向socket服务端推送数据可以仿照首页web-msg-sender项目,向socket服务推送的代码在最下方,我贴一下:

<?php 
// 指明给谁推送,为空表示向所有在线用户推送
$to_uid = "";
// 推送的url地址,上线时改成自己的服务器地址
$push_api_url = "http://canteen.com:2121/";
$post_data = array(
   "type" => "publish",
   "content" => "这个是推送的测试数据",
   "to" => $to_uid, 
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $push_api_url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data );
curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:"));
$return = curl_exec ( $ch );
curl_close ( $ch );
var_export($return);

当时看的时候也不理解这段代码是什么意思,现在用上了才清楚。

  • 暂无评论
latin
zongsir

如何使用tcp协议推送

  • 暂无评论
latin

@zongsir 大家都是基于tcp的,一样的啊

  • 暂无评论
年代过于久远,无法发表回答
×
🔝