tornado websocket

这篇博客介绍了如何利用Tornado实现WebSocket的简单Demo,主要用于实时聊天功能。作者指出,尽管Node.js等已有内置封装,但PHP实现WebSocket较为复杂。在Tornado的服务端代码示例中,可以观察到用于实现点对点聊天的潜在条件判断,这可能涉及到根据用户ID进行消息发送。
摘要由CSDN通过智能技术生成

最近在网上找了些websocket的资料看了下,node和tornado等等本身已经实现了websocket的封装,所以使用起来会比较简单,php如果想要写websocket还需要自己跑一整套流程,比较麻烦。

根据网上的资料写了一个简单的websocket的demo,果真炫酷掉渣天,我是用tornado,网上多是实现实时聊天室的例子,想要实现点对点的聊天功能还需要在send函数那里加条件,目测是根据浏览器用户的id去判断的。代码如下:

服务端代码:

#!/usr/bin/python
#coding:utf-8
import os.path

import tornado.httpserver
import tornado.web
import tornado.ioloop
import tornado.options
import tornado.httpclient
import tornado.websocket

import json
class IndexHandler(tornado.web.RequestHandler):
	def get(self):
		self.render("index.html")

class SocketHandler(tornado.websocket.WebSocketHandler):
	"""docstring for SocketHandler"""
	clients = set()

	@staticmethod
	def send_to_all(message):
	    for c in SocketHandler.clients:
	        c.write_message(json.dumps(message))

	def open(self):
	    self.write_message(json.dumps({
	  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值