gpt4 book ai didi

delphi - 在 Indy 中的 2 个连接之间直接传输数据 (TIdContext)

转载 作者:行者123 更新时间:2023-12-03 15:55:18 24 4
gpt4 key购买 nike

有一个运行 TIdTCPServer 的服务器,并且客户端使用 Web 浏览器(或任何其他软件)进行通信,我不知道协议(protocol),但我试图做的是在客户端和另一个连接之间发送数据(两者都连接到相同的 TIdTCPServer)例如第一个客户端发送的数据被传输到第二个客户端,第二个客户端发送的数据被传输到第一个客户端,就像代理一样(我不能真正使用代理服务器,因为它只是这个)条件)并且 TIdTCPServer 应该仍然接收其他客户端并处理他们的数据。

我偶然发现了第一行代码,因为 TIdContext.Connection.Socket.ReadLn 需要分隔符,并且服务器不知道客户端协议(protocol)。

有什么想法吗?

谢谢。

最佳答案

您可以查看TIdMappedPortTCP的源代码和TIdHTTPProxyServer看看它们如何在两个方向的连接之间传递任意数据。两个组件都使用TIdSocketList.SelectReadList()检测任一连接何时有数据要读取。 TIdMappedPortTCP然后使用 TIdBuffer.ExtractToBytes()TIdIOHandler.Write(TIdBytes) ,而TIdHTTPProxyServer使用TIdTCPStreamTIdBuffer.ExtractToStream()相反。

关于delphi - 在 Indy 中的 2 个连接之间直接传输数据 (TIdContext),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203794/

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