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);
}

请问这样做可以吗?
已邀请:

命中水水水 - 90程序猿

赞同来自:

不好意思这个问题我已经解决了。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 - 挨踢男

赞同来自:

手册看到有这个需求的总结
http://doc3.workerman.net/faq/push-in-other-project.html

zongsir - 80后it男

赞同来自:

如何使用tcp协议推送

latin - 挨踢男

赞同来自:

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

要回复问题请先登录注册