我正在尝试进行进程间通信,因为我无法弄清楚如何在Windows下使用命名管道,我以为我会使用网络套接字.一切都在当地发生.服务器能够在单独的进程中启动从属服务器并侦听某个端口.奴隶完成他们的工作并将结果提交给主人.我如何确定哪个端口可用?我想我不能听80或21端口?
我正在使用Python,如果这会减少选择.
谢谢!
有没有办法streamlit run APP_NAME.py从 python 脚本中运行命令,它可能看起来像:
import streamlit
streamlit.run("APP_NAME.py")
Run Code Online (Sandbox Code Playgroud)
由于我正在处理的项目需要跨平台(并打包),因此我不能安全地依赖对os.system(...)或的调用subprocess。
我有一个项目,我在其中生成子进程,它再次需要一个端口号来绑定。端口号是由我的 Python 脚本分配的,我只是在 49152 到 65535 之间随机选择一个端口。
我想验证该端口是否可用并且未被本地系统(*nix)上的任何其他工具使用。
从另一个问题我有这个片段:
import socket;
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex(('127.0.0.1',80))
if result == 0:
print "Port is open"
else:
print "Port is not open"
Run Code Online (Sandbox Code Playgroud)
我可以在我的情况下使用这个吗?这不会打开端口并且不会关闭它以供进一步使用吗?