GEVENT-WEBSOCKET(1) gevent-websocket GEVENT-WEBSOCKET(1) نام (NAME) gevent-websocket - مستندات gevent-websocket کتابخانهٔ gevent-websocket یک کتابخانهٔ WebSocket برای کتابخانهٔ شبکه‌ای gevent است که توسط Jeffrey Gelens نوشته شده و نگهداری می‌شود. این پروژه تحت مجوز BSD منتشر شده است. from geventwebsocket import WebSocketServer, WebSocketApplication, Resource class EchoApplication(WebSocketApplication): def on_message(self, message): self.ws.send(message) WebSocketServer( ('', 8000), Resource({'/': EchoApplication}) ) برای شروع استفاده از وب‌سوکت‌ها نیازی به استفاده از WebSocketServer توکار نیست. وب‌سوکت‌ها را می‌توان با در دسترس قرار دادن متغیر غیراستاندارد wsgi.websocket در محیط WSGI به سادگی به برنامه‌های موجود اضافه کرد. مثالی با استفاده از Flask در ادامه آمده است: from geventwebsocket import WebSocketServer, WebSocketError from flask import Flask, request, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/api') def api(): ws = request.environ.get('wsgi.websocket') if not ws: abort(400, "Expected WebSocket request") while True: try: message = ws.receive() ws.send("Your message was: {}".format(message)) except WebSocketError: # Possibility to execute code when connection is closed break if __name__ == '__main__': server = WebSocketServer(("", 8000), app) server.serve_forever() همچنین برنامهٔ جاوااسکریپت سمت مرورگر نیز می‌تواند بسیار ساده باشد: • چارچوبی برای سرورهای WebSocket و زیرپروتکل‌های WebSocket • پیاده‌سازی RFC6455 و Hybi-10+ • مبتنی بر gevent : کارایی بالا، ناهمگام • سازگاری با استانداردها (قبولی ۱۰۰٪ در آزمون‌های Autobahn Websocket Testsuite ) توزیع و PIP (DISTRIBUTE & PIP) نصب gevent-websocket با pip بسیار ساده است: $ pip install gevent-websocket دریافت کد (GET THE CODE) این پروژه بر روی BitBucket توسعه داده می‌شود. می‌توانید مخزن را کلون کنید: hg clone https://www.bitbucket.org/Jeffrey/gevent-websocket یا فایل فشرده (tarball) را دریافت نمایید: curl -LO https://bitbucket.org/Jeffrey/gevent-websocket/TODO پس از دریافت یک نسخه، می‌توانید آن را درون برنامهٔ خود تعبیه کنید، یا با دستور زیر روی سیستم خود نصب نمایید: $ python setup.py install کلاس‌های اصلی (MAIN CLASSES) استثناها (EXCEPTIONS) • نمایه <> • نمایهٔ ماژول <> • صفحهٔ جستجو <> نویسندگان (AUTHORS) Jeffrey Gelens کپی‌رایت و تکثیر (COPYRIGHT) 2013, Jeffrey Gelens 0.10 July 4, 2026 GEVENT-WEBSOCKET(1)