在非wm项目中我想在PHP后端及时推送消息

雨儿

我的项目在前端html页面写一了一段JS

var ws = new WebSocket('ws://120.25.218.139:8383'); 
 ws.onmessage = function(e){
     alert(e.data);
 };

就能连上wm的oncontent方法了,但是我现在想要在后端连接wm自动弹出推送消息。看了手册 我在后端代码indexaction加载方法中写了

    $client = stream_socket_client('tcp://120.25.218.139:8383');
    if(!$client)exit("can not connect");
    // 模拟超级用户,以文本协议发送数据,注意Text文本协议末尾有换行符(发送的数据中最好有能识别超级用户的字段),这样在Event.php中的onMessage方法中便能收到这个数据,然后做相应的处理即可
    fwrite($client, '{"type":"re_login","content":"hello all", "user":"admin", "pass":"******"}'."\n");

没得任何弹出, 也不知道后端连上wm 没有。。望大神指教。。

阅读 2149
1个回答

walkor

请认真看手册,
stream_socket_client 连的端口应该是Text的端口,你这里应该是7373,而不是8383

你的8383是websocket端口,要想连通websocket端口,你发的数据必须符合websocket协议,否则无法通讯。

建议补充下tcp 和应用层协议相关的基础知识,对以后会非常有好处

  • 暂无评论