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

php websocket问题

websocket服务端用php,查了很久百度,全部是客户端发送消息被动推送,服务器主动推送怎么做呢,手册全英文。

要实现客服与客户聊天的思路怎么做呢(客户端是h5,客服是pc,客服回答后怎么调用websocket服务器,又怎么推送到相应客服端),希望实际项目经验的前辈告知。

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

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(){}

}

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

回复内容:

php websocket问题

websocket服务端用php,查了很久百度,全部是客户端发送消息被动推送,服务器主动推送怎么做呢,手册全英文。

要实现客服与客户聊天的思路怎么做呢(客户端是h5,客服是pc,客服回答后怎么调用websocket服务器,又怎么推送到相应客服端),希望实际项目经验的前辈告知。

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

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(){}

}

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

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里面。当需要推送消息的时候通过标识(这个标识是服务器提供给客户端的)找到相应的链接,然后再推送消息过去。其中包括一些心跳检测啥的细节。大体思路就是这样的

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的websocket服务端的class,使用Python的websocket库实现: ```python import asyncio import websockets class WebSocketServer: def __init__(self, host='localhost', port=8888): self.host = host self.port = port async def handle_client(self, websocket, path): async for message in websocket: # 处理客户端发送的消息 await websocket.send('You sent: {}'.format(message)) async def run(self): async with websockets.serve(self.handle_client, self.host, self.port): print('WebSocket server running on {}:{}'.format(self.host, self.port)) await asyncio.Future() # 保持websocket服务器一直运行 if __name__ == '__main__': server = WebSocketServer() asyncio.run(server.run()) ``` 在这个WebSocketServer类中,我们定义了一个handle_client方法来处理客户端与服务器之间的通信。在这个方法中,我们使用async for循环来接收来自客户端的消息,并使用websocket.send方法将消息发送回客户端。 在run方法中,我们使用websockets.serve方法来创建一个websocket服务器,并将handle_client方法作为回调函数传递给它。最后,我们使用asyncio.Future方法来保持websocket服务器一直运行。 我们可以使用以下代码来启动WebSocket服务器: ```python if __name__ == '__main__': server = WebSocketServer() asyncio.run(server.run()) ``` 这将创建一个WebSocketServer对象并运行它的run方法,从而启动WebSocket服务器。默认情况下,服务器将在本地主机的8888端口上运行。你可以通过传递host和port参数来更改它们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值