在C ++ Builder 10 Seattle中使用Web.Win.Sockets

时间:2015-10-21 10:32:01

标签: c++builder c++builder-10-seattle

我有一个最初使用 C ++ Builder 2010 构建的现有(大型)项目。它使用现已弃用的套接字进行通信。

read它们仍然可以在示例项目中使用,并从命令行构建它。我从组件/安装包导航到示例文件夹中的bpl并安装它,然后继续尝试获取代码。但是我觉得缺少一些步骤。

从示例文件夹中包含 Web.Win.Sockets.hpp 似乎不够。它似乎不包含许多内容的定义,例如现有代码使用的 TServerSocket 等。 System.Win.ScktComp 似乎包含了这些缺失的定义,但混合两者似乎并不是正确的做法。只是为了好玩,我尝试了一些像这样的疯狂的事情,并将其编译,但传输的数据似乎包括垃圾,搞砸了沟通。

有一次,我尝试转移到 System.Win.ScktComp 中的组件,但没有关于什么相关的内容以及是否有任何警告的良好信息。我得到程序编译后就无法连接等。

那么,是否有任何良好的指南来启用和使用" old" C ++ Builder 10 Seattle 的套接字?如果要转移到新的那个,是替换还是需要大量工作?系统以自定义二进制格式传输大量数据,因此需要完成大量的流处理等。现在我需要启动并运行,因此此时大量重写这些部分是不可行的。

1 个答案:

答案 0 :(得分:2)

Web.Win.SocketsSystem.Win.ScktComp不是一回事,也不是彼此的替代品。

System.Win.ScktComp包含旧的VCL套接字组件(TClientSocketTServerSocket等)。这是你想要的。

Web.Win.Sockets包含旧的CLX套接字组件(TTcpClientTTcpServer等)。你不想要这个,所以忽略示例项目,你不需要它。

要获取VCL套接字组件,您需要做的就是安装dclSockets文件夹中的$(BDS)\bin包,如文档所示:

Installing Socket Components

  

默认情况下不安装套接字组件。要使用套接字组件,您必须安装 dclsockets< .bpl> 包。

     

安装套接字组件:

     
      
  1. 选择组件> Install Packages 即可。
  2.   
  3. 安装包对话框中,单击“添加”。
  4.   
  5. 添加设计包对话框中,浏览到C:\Program Files (x86)\Embarcadero\Studio\17.0\bin
  6.   
  7. 选择 dclsockets230.bpl ,然后点击“打开”。
  8.   
  9. 点击确定以关闭安装包对话框。
  10.   
  11. 套接字组件(TClientSocketTServerSocket)列在工具选项板 Internet 类别中。
  12.         

    注意:这些步骤是一次性安装说明。套接字组件应该可用于所有未来的项目。

如果您希望以后将代码切换到不同的套接字组件,则必须相应地重新编写套接字代码。