将 UDP 数据从 Python 发送到 Javascript?
Posted
技术标签:
【中文标题】将 UDP 数据从 Python 发送到 Javascript?【英文标题】:Send UDP Data from Python to Javascript? 【发布时间】:2020-09-27 23:14:06 【问题描述】:如何在 Javacript 中从此 Python 服务器检索数据。最终目标是能够使用 Python 变量来控制 javascript 变量。我到处寻找有关如何使用套接字和 javascript 的提示,但他们只潜入发送数据,而我想接收数据。
提前致谢! :)
Python 服务器代码:
import socket
UDP_IP = socket.gethostname()
UDP_PORT = 5005
ip_address = socket.gethostbyname(socket.gethostname())
MESSAGE = "Hello, World!"
print ("UDP target IP:", UDP_IP)
print("IP Address is",ip_address)
print ("UDP target port:", UDP_PORT)
print ("message:", MESSAGE)
sock = socket.socket(socket.AF_INET, # Internet
socket.SOCK_DGRAM) # UDP
#sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
sock.sendto(bytes(MESSAGE, "utf-8"), (ip_address, UDP_PORT))
JAVASCRIPT 客户端:
var socket = io.connect('http://127.0.0.1:5005');
【问题讨论】:
不要做 ip_address = socket.gethostbyname(socket.gethostname()),而是写 ip_address = socket.gethostbyname(""),是更好的做法。如果您的意图是控制要在 js 中使用的 python 变量,更好的选择是 python 的 flask rest api。 【参考方案1】:最好的选择应该是烧瓶
@app.route('/')
def hello():
data = 'username': 'Pang', 'site': '***.com'
return render_template('settings.html', data=data)
在上面的代码中,您指定了路由和要发送的数据,之前在 python 变量中处理过。
在你的 js 中:
function myFunc(vars)
return vars
通过这种方式,您应该能够查看并使用您的价值观
在您的 html 中
<html>
<head>
<script type="text/javascript" url_for('static', filename='app.js')></script>
<script type="text/javascript">
myVar = myFunc(vars|tojsenter code hereon)
</script>
</head>
在上面的代码中你将接收到的数据存储在MyVar中,你可以省略json解析。
【讨论】:
以上是关于将 UDP 数据从 Python 发送到 Javascript?的主要内容,如果未能解决你的问题,请参考以下文章
在UDP Socket java android上发送和接收数据
如何在 Linux 上快速将 LARGE 数据从 c++ 发送到 python?