TornadIO2 คือการดำเนินการเซิร์ฟเวอร์หลามห้องสมุดของการขนส่งเรียลไทม์ Socket.IO ด้านบนของกรอบทอร์นาโด
TornadIO2 เข้ากันได้กับรุ่นของ 0.7+ Socket.IO และดำเนินการมากที่สุดของคุณสมบัติที่พบในต้นฉบับซอฟต์แวร์เซิร์ฟเวอร์ Socket.IO
Socket.IO คืออะไร?
Socket.IO มีจุดมุ่งหมายที่จะทำให้แอพพลิเคเรียลไทม์ที่เป็นไปได้ในทุกเบราว์เซอร์และอุปกรณ์มือถือ, การเบลอของภาพความแตกต่างระหว่างกลไกการขนส่งที่แตกต่างกัน มันเป็นเรียลไทม์ดูแลฟรี 100% ใน JavaScript
คุณสามารถใช้มันในการสร้างบริการที่ผลักดันเกม ฯลฯ Socket.IO จะปรับให้เข้ากับเบราว์เซอร์ของลูกค้าและจะใช้โปรโตคอลการขนส่งที่มีประสิทธิภาพสูงสุด
เริ่มต้น
เพื่อที่จะเริ่มต้นทำงานกับห้องสมุด TornadIO2 คุณจะต้องมีความรู้พื้นฐานบางอย่างทอร์นาโด หากคุณไม่ได้รู้วิธีการใช้มันโปรดอ่านการกวดวิชาทอร์นาโดซึ่งสามารถพบได้ที่นี่
ถ้าคุณคุ้นเคยกับพายุทอร์นาโดไม่ต่อไปนี้เพื่อเพิ่มการสนับสนุนสำหรับ Socket.IO ใบสมัครของคุณ:
1. ได้รับมาจากชั้น tornadio2.SocketConnection และแทนที่ ON_MESSAGE วิธี (on_open / on_close เป็นตัวเลือก):
& nbsp; ชั้น MyConnection (tornadio2.SocketConnection):
& nbsp; def ON_MESSAGE (ตัวเอง, ข้อความ):
& nbsp; ผ่าน
2. สร้างเซิร์ฟเวอร์ TornadIO2 สำหรับการเชื่อมต่อของคุณ:
& nbsp; MyRouter = tornadio2.TornadioRouter (MyConnection)
3. เพิ่มเส้นทางการจัดการของคุณเพื่อการประยุกต์ใช้ทอร์นาโด:
& nbsp; การประยุกต์ = tornado.web.Application (
& nbsp; MyRouter.urls,
& nbsp; socket_io_port = 8000)
4. เริ่มโปรแกรมประยุกต์ของคุณ
5. คุณมีเซิร์ฟเวอร์ของคุณ socket.io ทำงานที่ 8000 พอร์ตง่ายขวา?
เริ่มต้นขึ้น
เราให้รุ่นที่กำหนดเอง (ยืมออกนอกหน้าจากห้องสมุด SocketTornad.IO) ของ HTTPServer ซึ่งช่วยลดความยุ่งยากเริ่มต้นของเซิร์ฟเวอร์ TornadIO ของคุณ
ที่จะเริ่มต้นทำดังต่อไปนี้ (สมมติว่าคุณสร้างวัตถุสมัครก่อน):
ถ้า __name__ == "__main__":
& nbsp; socketio_server = SocketServer (ใช้งาน)
SocketServer โดยอัตโนมัติจะเริ่มต้นเซิร์ฟเวอร์นโยบายแฟลช, ถ้าจำเป็นต้องใช้
หากคุณไม่ต้องการที่จะเริ่มต้น IOLoop ทันทีผ่าน auto_start = เท็จว่าเป็นหนึ่งในตัวเลือกสร้างแล้วเริ่มต้นด้วยตนเอง IOLoop
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมโปรดตรวจสอบเอกสาร TornadIO2 และการใช้งานตัวอย่าง
ตัวอย่าง
การยอมรับ
ตัวอย่างปิงซึ่งแสดงให้เห็นถึงวิธีการใช้เหตุการณ์ที่เกิดขึ้นในการทำงานในโหมดการตอบสนองการร้องขอ มันมีอยู่ในตัวอย่าง / ackping ไดเรกทอรี
เว็บไซต์ครอส
ตัวอย่างการพูดคุยซึ่งแสดงให้เห็นถึงวิธีการสื่อสารข้ามไซต์งาน (เซิร์ฟเวอร์สนทนากำลังทำงานอยู่บนพอร์ต 8002 ในขณะที่เซิร์ฟเวอร์ HTTP ทำงานบนพอร์ต 8001) มันมีอยู่ในตัวอย่าง directory / crosssite
เหตุการณ์ที่เกิดขึ้นและเครื่องกำเนิดไฟฟ้าที่ใช้ async API
ตัวอย่างที่แสดงให้เห็นถึงวิธีการใช้เหตุการณ์ที่เกิดขึ้นและเครื่องกำเนิดไฟฟ้าที่ใช้ API ที่จะทำงานกับรหัสไม่ตรงกัน มันมีอยู่ในตัวอย่าง directory / Gen
Multiplexed
ปิงและการสาธิตการแชทการทำงานผ่านการเชื่อมต่อ คุณสามารถเห็นมันในตัวอย่าง directory / มัลติเพล็ก
สถิติ
TornadIO2 รวบรวมเคาน์เตอร์บางอย่างที่คุณสามารถใช้เพื่อแก้ไขปัญหาประสิทธิภาพการทำงานของแอพลิเคชันของคุณ เช่นในตัวอย่าง directory / สถิติให้ความคิดวิธีการที่คุณสามารถใช้สถิติเหล่านี้พล็อตกราฟเรียลไทม์
ping RPC
ปิงซึ่งทำงานผ่านเหตุการณ์ socket.io มันมีอยู่ในตัวอย่าง directory / RPCPing
การขนส่ง
ง่าย ping / ตัวอย่างพงษ์กับอินเตอร์เฟซแชทเช่นกับการบริการที่เลือกได้ มันมีอยู่ในตัวอย่าง / ลำเลียงไดเรกทอรี
คุณสมบัติ .
- รองรับ Socket.IO 0.8 โปรโตคอลและคุณลักษณะที่เกี่ยวข้อง
- เต็มสนับสนุน Unicode
- การสนับสนุนสำหรับเครื่องกำเนิดไฟฟ้าที่ใช้รหัสไม่ตรงกัน (tornado.gen API)
- สถิติการจับภาพ (แพ็คเก็ตต่อวินาที ฯลฯ )
- ยังคงอยู่ในระหว่างการ
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ