gpt4 book ai didi

c++ - 为什么不推荐使用 TClientSocket 和 TServerSocket,我应该改用什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:05:30 24 4
gpt4 key购买 nike

在经历了 Eclipse、Emacs、Visual Studio 和记事本之后,我才开始熟悉 Embarcadero RAD Studio 2010 :)

我正在进入相当大的 C++ 应用程序(500.000 - 1.000.000 行),我发现它广泛使用了 TClientSocket 和 TServerSocket。 IDE 首先提示找不到 TClientSocket 但仍然可以编译,我挠了挠头。然后我发现它不再默认安装,并且从很久以前就被标记为已弃用。

我曾尝试阅读有关该主题的内容,但没有找到太多信息。我的问题是

  • 为什么不推荐使用 TClientSocket 和 TServerSocket?
  • 它们在 WinSock 和 BSD 套接字上的运行方式有何不同?
  • 最好改用什么?是否有一种快速替代品不需要遍历整个应用程序并在使用 TClientSocket 和 TServerSocket 的所有地方都进行更改?我猜这主要是内部运作发生了变化,还是?

最佳答案

已弃用,因为不再受支持。它们是 Winsock 套接字的包装,因此整体内部机制是相同的 -“创建监听器、监听、接受、创建客户端处理程序线程,将其传递给 ServerClientSocket,客户端线程读取和写入流”。

您可以尝试只导入组件 - 如果您要支持大量遗留应用程序,那么这肯定是可行的方法。

还有另一种方法 :(( 使用 Indy 或 Synapse 组件构建具有相同成员的“TClientSocket”和 TServerSocket 类,这样遗留应用程序无需大量更改即可运行。

关于c++ - 为什么不推荐使用 TClientSocket 和 TServerSocket,我应该改用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149406/

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