如何使用javascript/html5中的web套接字与python通信
How do I use web sockets in javascript/html5 to communicate with python
我在尝试使用WebSockets在python和javascript之间进行通信时遇到了问题。
这是我的python服务器(ws.py),它只打印出它接收到的任何数据,并将其重新发送到客户端:
#!/usr/bin/env python
# Echo server program
import socket
HOST = ''
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
data = conn.recv(1024)
if not data: break
print 'Data recieved =', data
conn.sendall(data)
conn.close()
使用nc localhost 50007
的netcat可以很好地工作,但当我尝试使用我的html/Javascript客户端时,我得到了连接,但服务器没有收到消息,我只收到以下消息:
Connected by ('127.0.0.1', 62264)
Data recieved = GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: localhost:50007
Origin: http://localhost
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: 6hxDWShxMnFxwGYAWym+eg==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: x-webkit-deflate-frame
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36
Cookie: SQLiteManager_currentLangue=2
这就是我在Chrome中得到的控制台:
WebSocket connection to 'ws://localhost:50007/' failed: basicWSoc.html:7
Error Logged: [object Event]
这是我的web客户端(basicWSoc.html)
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function WebSocketTest()
{
var connection=new WebSocket("ws://localhost:50007");
connection.onopen = function () {
connection.send('Hello, Server!!'); //send a message to server once connection is opened.
};
connection.onerror = function (error) {
console.log('Error Logged: ' + error); //log errors
};
connection.onmessage = function (e) {
console.log('Received From Server: ' + e.data); //log the received message
};
}
</script>
</head>
<body>
<div id="sse">
<a href="javascript:WebSocketTest()">Run WebSocket</a>
</div>
</body>
</html>
现在我还是python的新手,Web套接字对我来说是全新的,所以我可能会过度关注显而易见的。。。。
如有任何帮助,我们将不胜感激
感谢@SLaks向我指出,我使用的TCP套接字与Web套接字相当。我将我的Python服务更改为使用Tornado库,该库实现了web套接字,这使我能够连接到我的web客户端,并在它们之间成功通信
相关文章:
- 如何使用HTML5与UDP套接字通信
- 在node.js中写入ECONNRESET错误和套接字连接检查
- java,javascript签名的小程序(文件选择,ftp上传)安全性/套接字异常
- 套接字服务器向客户端广播,但不从两者接收
- 如何确定套接字中的变量是否匹配
- 如何通过网络套接字连接到树莓派上的Mosquitto经纪人
- 快速的套接字 io 实例/中间件
- PHP:Web套接字和html 5
- 无法从客户端发出套接字消息
- STOMP web套接字回调不'不起作用
- Will my'新对象'在套接字断开连接时被垃圾收集
- 套接字服务器在本地获得500毫秒的往返时间
- 将服务器托管的Web应用程序连接到本地Web套接字
- 通过套接字发送画布元素,JS中的最大堆栈大小
- 如何使用套接字将node.js与ada连接起来
- 套接字io客户端网络::ERR_CONNECTION_REFUSED
- 节点.js设置套接字 ID
- 如何使用javascript/html5中的web套接字与python通信
- 用python编写的类似javascript的TCP套接字客户端
- Python 套接字的问题:无论浏览器如何获取可靠的 POST 数据