将 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 端口发送到 lora 传感器节点?

在UDP Socket java android上发送和接收数据

如何在 Linux 上快速将 LARGE 数据从 c++ 发送到 python?

UDP丢包修复

将 UDP 数据从 Windows 服务发送到同一台机器上运行网页的浏览器

将字节数组从java程序发送到c++