gpt4 book ai didi

python - 更大的应用程序如何处理潜在的(网络)套接字端口冲突?

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:50 24 4
gpt4 key购买 nike

我正在 chrome 插件和桌面应用程序之间编写一个 websocket 连接,它们只在本地相互通信。我知道不能让两个套接字监听同一端口(对于所有端口都是如此吗?)

对于我的大多数用户来说,端口冲突不会发生,但应用程序将在几千台计算机上运行;我认为我可以合理地预期在极少数情况下会发生冲突,即另一个应用程序已经占用了该端口。

更大的应用程序如何处理这个潜在问题?一般来说,我对网络和(网络)套接字编程相当不熟悉。

我想有一些非技术性的解决方法,如下所示:

  1. 记录问题,并让支持人员处理
  2. 让用户配置端口

但如果可能的话,我宁愿有一个完善的技术方法来处理它。我可以想出一些算法来尝试一些预配置的端口,但我希望这是业界众所周知的问题,并且我希望了解这个问题的共识是什么。

这个问题主要与技术无关,但如果重要的话,我的堆栈是 python 和 this websockets library在桌面端,当然还有客户端的 JavaScript。

最佳答案

我认为没有理由过度思考。看似不合理的 list occupied后备端口和最后指定端口的提示应该没问题。如果双方都有HDD IO能力(不知道chrome插件能做到多少),那么插件和应用就更容易满足了。

对于同一主机上的两个应用程序,您还可以添加额外的环回接口(interface)。 Example .

如果谈到大型网络,有一类所谓的服务发现协议(protocol)可能有助于处理此类问题。基本上,它们是基于 IP 或 UDP 的多播协议(protocol),在网络上通告不同的服务。通常这些协议(protocol)有一个标准化的通信端口,因此不太可能被其他应用程序占用。例如 DHCP、Bonjour。

但是,处理端口冲突并不是它们的主要功能。在大型网络中,机器应该处于某种控制之下,并且不应该有大量应用程序抓取随机端口。如果与第三方应用程序发生冲突,理想的解决方案是寻找允许手动设置端口的设置。

关于python - 更大的应用程序如何处理潜在的(网络)套接字端口冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45736477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com