>백엔드 개발 >PHP 튜토리얼 >websocket服务端用php,查了很久百度,全都不是主推

websocket服务端用php,查了很久百度,全都不是主推

WBOY
WBOY원래의
2016-06-06 20:26:211248검색

php websocket问题

websocket服务端用php,查了很久百度,全部是客户端发送消息被动推送,服务器主动推送怎么做呢,手册全英文。
要实现客服与客户聊天的思路怎么做呢(客户端是h5,客服是pc,客服回答后怎么调用websocket服务器,又怎么推送到相应客服端),希望实际项目经验的前辈告知。

在客户端连接的时候可不可以直接初始化用户身份参数呢

<code>function link(){
    var url='ws://www.test.com:8000';
    socket=new WebSocket(url);
    socket.onopen=function(){
        var json = JSON.stringify({'userid':'1001'});//怎么标注身份
        socket.send(json);
    }
  socket.onmessage=function(msg){}
  socket.onclose=function(){}
}
</code>

我感觉这种思路一开始就错了,今天才开始接触这类问题,还望有经验的前辈告知。

回复内容:

php websocket问题

websocket服务端用php,查了很久百度,全部是客户端发送消息被动推送,服务器主动推送怎么做呢,手册全英文。
要实现客服与客户聊天的思路怎么做呢(客户端是h5,客服是pc,客服回答后怎么调用websocket服务器,又怎么推送到相应客服端),希望实际项目经验的前辈告知。

在客户端连接的时候可不可以直接初始化用户身份参数呢

<code>function link(){
    var url='ws://www.test.com:8000';
    socket=new WebSocket(url);
    socket.onopen=function(){
        var json = JSON.stringify({'userid':'1001'});//怎么标注身份
        socket.send(json);
    }
  socket.onmessage=function(msg){}
  socket.onclose=function(){}
}
</code>

我感觉这种思路一开始就错了,今天才开始接触这类问题,还望有经验的前辈告知。

http://www.workerman.net/workerman-chat
可以看下这个,PHP写的websocket聊天室,客服功能其实可以用里面的单聊功能实现 .有人用它实现过客服,包括网页和客户端软件。
开发手册:http://workerman.net/gatewaydoc/
Demo:http://chat.workerman.net/

PHPWebIM是Swoole官方基于PHP Swoole扩展和Swoole Framework开发的WebSocket网页即时聊天工具.
PHPWebIM支持WebSocket+Comet两种协议,可用于所有种类的浏览器包括IE.
https://github.com/matyhtf/PHPWebIM
Demo: http://webim.swoole.com/

技术问题就不要查什么百度了,?

我倒是用过java里面的websocket。大概思路就是客户端和服务器建立websocket,然后服务器端将这个标识和这个链接保存的hashmap里面。当需要推送消息的时候通过标识(这个标识是服务器提供给客户端的)找到相应的链接,然后再推送消息过去。其中包括一些心跳检测啥的细节。大体思路就是这样的

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.