Python Websocket 實例 -- http接收數據websocket推出去

我們使用python的channels庫來使用Websocket

HTTP接收數據:

class MessageConsumer(generic_http.AsyncHttpConsumer):
	async def handle(self, message):
		# handle the message
		await channel_layer.group_send(
			group_name,
			{
				'type': 'handle_message',
				'message': message,
			}
		)

Channels使用Websocket推送數據:

class MessagePublisher(websocket.AsyncWebsocketConsumer):
	def __init__(self, *args, **kwargs):
		pass
	
	async def connect(self):
		await self.accept()
		await self.channel_layer.group_add(
			self.group_name,
			self.channel_name,  # 這是已有的
		)
	
	async def disconnect(self):
		await self.channel_layer.group_discard(
			self.group_name,
			self.channel_name,  # 這是已有的
		)
		
	async def handle_message(self, event):
		message = event['message']
		await self.send(text_data=message)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章