Fixed websockets to not use a hardcoded localhost.

This commit is contained in:
Paul Davis 2010-04-15 14:59:01 -04:00 committed by Paul J. Davis
parent 51f1f22665
commit bb2f51ccda
2 changed files with 6 additions and 7 deletions

View File

@ -8,7 +8,7 @@ http://assorted.svn.sourceforge.net/viewvc/assorted/real-time-plotter/trunk/src/
<script> <script>
window.onload = function() { window.onload = function() {
var data = {}; var data = {};
var s = new WebSocket("ws://localhost:8000/data"); var s = new WebSocket("ws://nebula:8000/data");
s.onopen = function() { s.onopen = function() {
//alert('open'); //alert('open');
s.send('hi'); s.send('hi');
@ -41,4 +41,4 @@ window.onload = function() {
<h3>Plot</h3> <h3>Plot</h3>
<div id="holder" style="width:600px;height:300px"></div> <div id="holder" style="width:600px;height:300px"></div>
</body> </body>
</html> </html>

View File

@ -15,9 +15,8 @@ import eventlet
from eventlet.common import get_errno from eventlet.common import get_errno
class WebSocketWSGI(object): class WebSocketWSGI(object):
def __init__(self, handler, origin): def __init__(self, handler):
self.handler = handler self.handler = handler
self.origin = origin
def verify_client(self, ws): def verify_client(self, ws):
pass pass
@ -28,7 +27,7 @@ class WebSocketWSGI(object):
# need to check a few more things here for true compliance # need to check a few more things here for true compliance
start_response('400 Bad Request', [('Connection','close')]) start_response('400 Bad Request', [('Connection','close')])
return [] return []
sock = environ['wsgi.input'].get_socket() sock = environ['wsgi.input'].get_socket()
ws = WebSocket(sock, ws = WebSocket(sock,
environ.get('HTTP_ORIGIN'), environ.get('HTTP_ORIGIN'),
@ -40,7 +39,7 @@ class WebSocketWSGI(object):
"Connection: Upgrade\r\n" "Connection: Upgrade\r\n"
"WebSocket-Origin: %s\r\n" "WebSocket-Origin: %s\r\n"
"WebSocket-Location: ws://%s%s\r\n\r\n" % ( "WebSocket-Location: ws://%s%s\r\n\r\n" % (
self.origin, environ.get('HTTP_ORIGIN'),
environ.get('HTTP_HOST'), environ.get('HTTP_HOST'),
ws.path)) ws.path))
sock.sendall(handshake_reply) sock.sendall(handshake_reply)
@ -132,7 +131,7 @@ def handle(ws):
ws.send("0 %s %s\n" % (i, random.random())) ws.send("0 %s %s\n" % (i, random.random()))
eventlet.sleep(0.1) eventlet.sleep(0.1)
wsapp = WebSocketWSGI(handle, 'http://localhost:8000') wsapp = WebSocketWSGI(handle)
def app(environ, start_response): def app(environ, start_response):
""" This resolves to the web page or the websocket depending on """ This resolves to the web page or the websocket depending on
the path.""" the path."""