delphi - 一个Form上可以放置多个ClientSocket组件吗?

标签 delphi networking tcp serversocket tclientsocket

我正在编写一个程序,可以从一台计算机连接到多台计算机。有点像“指挥中心”,您可以在一台 PC 上远程监控所有远程系统。

我的计划是在一个表单上有多个客户端套接字。他们将远程连接到个人电脑。因此,他们可以向他们请求信息以显示在窗口上。远程 PC 将成为主机。这可能吗?

最佳答案

直接回答您的问题:是的,您可以这样做。

长答案:是的,你可以这样做,但你确定你的设计是正确的吗? 您确定要创建并行连接,每个客户端一个连接吗?也许你不知道!如果是,那么您可能希望在单独的线程中运行它们。

如果您想时不时地发送一些命令(并且您没有进行某种持续的视频监控),为什么不只使用一个连接并在客户端之间“切换”呢?

我无法告诉您有关设计的更多信息,因为从您的问题来看,并不清楚您想要构建什么(您到底在“监视”什么)。

非常重要!

设计应用程序之前需要考虑的两个重要注意事项(仅当远程计算机不在 LAN 中(您通过 Internet 连接到它们)时才相关):

  1. 如果远程计算机作为服务器运行,您将遇到很多问题来向您的客户解释(如果他们通过路由器连接(并且可能是)互联网)如何设置路由器和软件防火墙。例如,如果远程计算机正在监听您的命令,则在端口 1234(例如)上,路由器中的防火墙将默认阻止从“外部”计算机(来自您)到该端口的任何连接尝试。
  2. 如果您的远程计算机作为客户端运行,它们如何知道主机的 IP(您的 IP)。您有静态 IP 吗?

关于delphi - 一个Form上可以放置多个ClientSocket组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26046280/

相关文章:

delphi - 重构 Delphi 6 事件处理程序属性的工具/实用程序?

performance - AQTime 性能分析器可以分析 vcl 源吗?

ubuntu - 使用 ros2 主题列表时可以看到主题,但无法通过网络回显?

c++ - 连接到远程 UDP 多播服务

c - 应该关闭损坏的 socket 吗?

c++ - 如何阻止选定的应用程序访问互联网(C++、Win32)

Delphi - 预览表单上的 Rave 报告

delphi - 捕获应用程序输出 Delphi

linux - 从未绑定(bind)的 UDP 套接字发送到

java - 基于 Hazelcast 集群 TCP-IP