|
@@ -1,7 +1,7 @@
|
|
|
import socket
|
|
import socket
|
|
|
import logging
|
|
import logging
|
|
|
from traceback import format_exc
|
|
from traceback import format_exc
|
|
|
-from threading import Thread
|
|
|
|
|
|
|
+from threading import Thread, Lock
|
|
|
|
|
|
|
|
from websocket import WebSocket
|
|
from websocket import WebSocket
|
|
|
from exceptions import InvalidRequest
|
|
from exceptions import InvalidRequest
|
|
@@ -85,6 +85,11 @@ class Client(WebSocket):
|
|
|
self.address = address
|
|
self.address = address
|
|
|
self.send_lock = Lock()
|
|
self.send_lock = Lock()
|
|
|
|
|
|
|
|
|
|
+ def send_frame(self, frame):
|
|
|
|
|
+ self.send_lock.acquire()
|
|
|
|
|
+ WebSocket.send_frame(self, frame)
|
|
|
|
|
+ self.send_lock.release()
|
|
|
|
|
+
|
|
|
def onopen(self):
|
|
def onopen(self):
|
|
|
self.server.onopen(self)
|
|
self.server.onopen(self)
|
|
|
|
|
|