合并侦听器(POST 请求)和 Reader(GET 请求)文件客户端和主机
Combine Listener (POST request) and Reader (GET request) files client and host
我在 python 中有两个文件用于向本地网络上连接的 nodemcu 发送和接收数据。
Sender.py
import urllib.request
url = "http://Device IP"
# Example usage
while True:
data = input("Enter Data:")
data = urllib.parse.urlencode({"plain": data})
data = data.encode('ascii')
urllib.request.urlopen(url + "/SEND", data)
Listener.py
import urllib.request
url = "http://Device IP"
# Example usage
n = urllib.request.urlopen(url + "/LISTEN").read()
n = n.decode("utf-8") # convert raw html bytes format to string
我 运行 同时分别编写这两个脚本,它们工作正常。
如果一些数据是从板上发送的,它会显示在 listener.py 输出中
如果我从 sender.py 发送数据,它会显示在船上。
但我想合并这些文件,这样如果数据是 sent/received,它就不会相互中断或将它们放在循环中。
就像一个人会设置一个 mqtt 代理或 blynk(不会使用这些)。
那么我应该从什么方向开始寻找。我曾尝试在 python 上进行套接字编程,但他们似乎也为客户端和主机创建了两个文件。(至少是我在互联网上找到的那些)
那么这里最合适的方法是什么。
关于评论中的查询
通过组合我可以看到双方共享的输出和访问数据。
我的意思是中断,例如当 python 代码处于发送模式时,它会等待(暂停)行 input()
上的代码
如果电路板在此期间尝试发送数据,python 代码将无法收听它。
所以目前我使用线程来完成任务。
我是 运行 两个主要函数 listener/sender 在不同线程上并使用全局值保存数据。
虽然不多,但这是诚实的工作。
也许在功能方面,有人会找到更好的方法。
我在 python 中有两个文件用于向本地网络上连接的 nodemcu 发送和接收数据。
Sender.py
import urllib.request
url = "http://Device IP"
# Example usage
while True:
data = input("Enter Data:")
data = urllib.parse.urlencode({"plain": data})
data = data.encode('ascii')
urllib.request.urlopen(url + "/SEND", data)
Listener.py
import urllib.request
url = "http://Device IP"
# Example usage
n = urllib.request.urlopen(url + "/LISTEN").read()
n = n.decode("utf-8") # convert raw html bytes format to string
我 运行 同时分别编写这两个脚本,它们工作正常。 如果一些数据是从板上发送的,它会显示在 listener.py 输出中 如果我从 sender.py 发送数据,它会显示在船上。
但我想合并这些文件,这样如果数据是 sent/received,它就不会相互中断或将它们放在循环中。 就像一个人会设置一个 mqtt 代理或 blynk(不会使用这些)。
那么我应该从什么方向开始寻找。我曾尝试在 python 上进行套接字编程,但他们似乎也为客户端和主机创建了两个文件。(至少是我在互联网上找到的那些)
那么这里最合适的方法是什么。
关于评论中的查询
通过组合我可以看到双方共享的输出和访问数据。
我的意思是中断,例如当 python 代码处于发送模式时,它会等待(暂停)行
input()
上的代码 如果电路板在此期间尝试发送数据,python 代码将无法收听它。
所以目前我使用线程来完成任务。 我是 运行 两个主要函数 listener/sender 在不同线程上并使用全局值保存数据。
虽然不多,但这是诚实的工作。
也许在功能方面,有人会找到更好的方法。