我的项目在前端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 没有。。望大神指教。。
请认真看手册,
stream_socket_client 连的端口应该是Text的端口,你这里应该是7373,而不是8383
你的8383是websocket端口,要想连通websocket端口,你发的数据必须符合websocket协议,否则无法通讯。
建议补充下tcp 和应用层协议相关的基础知识,对以后会非常有好处