要编写一个WebSocket服务器,你可以使用Python的Tornado库来实现。下面是一个简单的示例代码:
import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
class WebSocketHandler(tornado.websocket.WebSocketHandler):
def open(self):
print("WebSocket connection opened")
self.write_message("Welcome to the WebSocket server")
def on_message(self, message):
print("Received message:", message)
self.write_message("You said: " + message)
def on_close(self):
print("WebSocket connection closed")
app = tornado.web.Application([
(r'/ws', WebSocketHandler),
])
if __name__ == '__main__':
server = tornado.httpserver.HTTPServer(app)
server.listen(8888)
tornado.ioloop.IOLoop.current().start()
上述代码创建了一个名为WebSocketHandler
的类,它继承自Tornado的WebSocketHandler
类,并重写了open
、on_message
和on_close
方法,分别用于处理WebSocket连接的打开、接收消息和关闭事件。在open
方法中,服务器向客户端发送欢迎消息;在on_message
方法中,服务器接收到客户端发送的消息后,回复一个包含"You said: "前缀的消息;在on_close
方法中,服务器打印出WebSocket连接关闭的消息。
最后,创建一个Tornado应用程序,并将WebSocketHandler
类绑定到/ws
路径上。然后,创建一个Tornado的HTTPServer并监听端口8888,最后启动IOLoop
运行事件循环。
你可以使用上述代码编写一个简单的WebSocket服务器,并根据需要进行自定义和扩展。