Delphi TCP连接透明代理

2023-11-30

有人知道用 Delphi 编写的 TCP 套接字代理应用程序的示例吗?我正在构建一个小型代理应用程序,它需要侦听给定 TCP 端口上的套接字连接,读取通过连接发送的 XML 数据包,通过 TCP 将请求发送到从可用后端服务器池中选择的服务器,然后交付将生成的响应返回到原始 TCP 连接。

我非常熟悉 TCP 和套接字级编程,但更愿意找到示例代码作为起点。如果有可用的东西,它将节省大量时间和精力,因为我不需要重新发明轮子。我记得在 2003/2004 年看到过用 Delphi 编写的一个小型 TCP 代理,但似乎已经失去了链接的踪迹。


您是否正在寻找袜子代理实现?如果没有,那么只需从服务器开始(http 很可能是一个好的开始),并在其中构建处理入站 XML 数据包的能力,并进行适当的调用。像这样的东西Synapse框架将使这个项目变得相当简单。如果您使用 Synapse,请从 SVN 获取最新版本。它支持所有最新版本的Delphi。

有一个http代理可用的突触演示,如果您想实现更传统的东西,这可能会有所帮助。一个好的启动 http 服务器example也可用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi TCP连接透明代理 的相关文章

  • TStream.Position 与 TStream.Seek 比较

    要移动 TStream 类中的 当前字节 指针 我们可以使用属性 Position 例如 MyStream Position 0 或使用 Seek 方法 例如 MyStream Seek 0 soFromBeginning 问题是 哪一个更
  • delphi THashSHA2 在大文件上返回错误的 SHA256

    Data Cloud CloudAPI pas has class function TCloudSHA256Authentication GetStreamToHashSHA256Hex const Content TStream str
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • Node.js、Socket.io:如何获取客户端浏览器语言?

    我正在尝试使用 socket io 和 node js 获取用户使用的语言 以便为播放视频提供正确的声音文件 我是node js 和socket io 的初学者 我通过 navigator language 在客户端获取了语言 并希望在连接
  • 读取存储在注册表中的 GUID 值

    我尝试读取存储为的 GUID 值binaryDelphi 注册表中的值 当我用BintoHex读取它时 但结果是相反的 看来我必须交换字节 但我认为 BinToHex 可以做到 我参考了这个线程 但找不到正确的解决方案 如何在 Delphi
  • TCP/IP 传输期间套接字数据损坏

    当我通过预连接的 TCP IP 套接字发送数据时 我发现数据已损坏 Example Station1 正在向 Station2 发送数据 我已经在发送之前 在 S1 和接收之后 在 S2 打印了数据 以下是消息 S1 发送的数据是ACKS2
  • 在Android中如何停止正在等待新套接字的线程

    我正在开发一个使用 Socket 连接到服务器的软件 connectionThread new Thread new Runnable public void run InetAddress serverAddress InetAddres
  • 如何制作自定义组件属性?

    我需要帮助来制作一个控件属性 当您单击它时 它会弹出一个自定义对话框 例如设置 就像 TPicture 一样 有什么想法或建议吗 如果您的类用作其他组件的属性 并且您想使用对象检查器来调用对话框 那么您必须实现并注册一个自定义属性编辑器 例
  • C# 套接字编程 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 嘿 我对 C 异步套接字编程做了噩梦 您能给我指点一本深入解释异步编程的指南 教程或书籍吗 如果可能包
  • 光标不工作时完成课程

    我在 2010 年和 XE2 中广泛使用了 Delphi 中的 Complete Class at Cursor 函数 最近 在安装 XE2 的 Update 4 后 Cursor 上的 Complete Class 停止工作 经过一些研究
  • 在 Python 3 中使用 Socket 时出现 400 Bad Request 错误

    我刚刚开始使用 Python 3 6 1 中的 Python Web 数据 我正在学习套接字 我的代码有一个问题 我无法弄清楚 我的代码中的网站工作正常 但是当我运行此代码时 我收到 400 Bad Request 错误 我不太确定我的代码
  • 处理异步时 TcpClient 与 Socket

    这不是另一个 TcpClient 与 Socket 的较量 TcpClient 是 Socket 类的包装器 以简化开发 同时还公开了底层 Socket 仍然 在 TcpClient 类的 MSDN 库页面上 可以读到以下注释 TcpCli
  • 如何在TWebBrowser中显示相对路径图像?

    我正在 DesignMode Doc DesignMode On 中使用 TWebBrowser 来编写 HTML 文档 TWebBrowser 中没有加载文档 磁盘上的 HTML 文件 我直接在 TWebBrowser 中从零开始创建文档
  • Delphi XE3,丑陋的 StringGrid 边框

    与 Delphi 7 相比 为什么 XE3 中的 String Grid 边框如此不清晰 如何解决这个问题 Delphi 2010 之后所有的网格都是主题化的 要在网格上禁用新主题 您必须设置属性 在对象检查器中将 DrawingStyle
  • Java 套接字:InputStream.read() 与 BufferedReader.read()

    我正在从套接字的输入流中读取数据 因为我正在动态解析传入的数据 所以我需要逐个字符地读取 Does BufferedReader read 与InputStream read 做 假设 BufferedReader 是以 InputStre
  • 应用程序需要很长时间才能同步线程(或根本不同步)

    我在 Delphi XE5 iOS 和 Android 中使用 REST 组件 我目前正在通过 iOS 模拟器进行测试 我的应用程序often挂在我的代码中的以下行 R Request Execute 经过一些调试后 我发现它特别挂在 RE
  • UNIX 域 STREAM 和 DATAGRAM 套接字之间的区别?

    这个问题是NOTSTREAM 类型和 DATAGRAM 类型 INTERNET 套接字之间的区别 我知道 STREAM 套接字使用 TCP 数据报套接字使用 UDP 以及所有 TCP UDP 内容 按顺序到达的数据包 ACK NACK 等
  • WinSock.h 和 WinSock2.h 使用哪个?

    有谁知道 WinSock h 和 WinSock2 h 之间的区别 我知道它们不使用相同的库 lib 但我不知道 WinSock2 是否仅添加了新功能 或者是否还改进了 WinSock 1 功能 我正在使用 IP TCP 套接字 并希望使用
  • 使用 iOS 设备作为 TCP 客户端 - 无 Bonjour

    我想使用 iOS 设备作为 TCP 客户端 但我找不到可理解的 API 指南 示例来说明如何做到这一点 我试过SimpleNetworkStreams and PictureSharing 但他们都使用 Bonjour 我可以轻松建立 UD
  • Microsoft SQL 数据库的 WebSocket 侦听器

    我目前正在开发一个项目 该项目必须使用 WebSockets 作为将数据传输到客户端的方式 基础设施看起来像这样 客户端 gt Web 服务器 gt Microsoft SQL 数据库 我想最理想的情况应该是这样的 客户端打开一个到服务器的

随机推荐

  • 多个计数器的联合

    查找列表并集的最佳方法是什么 就可读性和效率而言 Counters 例如 我的列表可能如下所示 counters Counter a 6 b 3 c 1 Counter a 2 b 5 Counter a 4 b 4 我想计算并集 即cou
  • 返回 Javascript 文件中定义的所有函数

    对于以下脚本 如何编写一个函数以数组形式返回所有脚本函数 我想返回脚本中定义的函数的数组 以便我可以打印脚本中定义的每个函数的摘要 function getAllFunctions this is the function I m tryi
  • IE - 本地和远程部署的系统之间的行为差​​异

    我在 IE 中遇到有线问题 当我浏览本地部署的 asp net mvc 应用程序时 一切都按预期工作 当我浏览部署在不同主机上的系统时 会出现一些恼人的差异 在这两种情况下 我都使用本地安装在我的主计算机上的同一个 IE 实例 假设我在cs
  • “AttributeError:部分初始化的模块‘pytube’没有属性‘YouTube’(很可能是由于循环导入)”[重复]

    这个问题在这里已经有答案了 这是代码 import pytube as p video url input Enter the link youtube p YouTube video url filters youtube streams
  • 无法删除终端中的特殊命名文件

    有些程序使我的根目录成为虚拟文件 例如 1 2 3 n 我运行失败 rm 1 and too rm 1 终端认为 1 是选项 如何删除这些文件在终端 您可以使用rm 1 指当前目录 并且由于参数不以破折号开头 因此不会将其解释为选项
  • Java 中忽略 SIGINT

    我正在为 Unix 上的本机共享库使用 Java 包装器 JRI 本机库 R 的基于 C 的 REPL 实现 在内部处理 SIGINT 使用 Java 包装器时 当我使用以下命令向进程发送 SIGINT 时 Java 应用程序将退出 杀死
  • 如何将不支持的密码套件(不包含在默认密码套件中)添加到客户端问候消息

    要求客户端应支持以下TLS加密密码套件 private String cipherSuites new String TLS DHE RSA WITH AES 256 GCM SHA384 TLS DHE RSA WITH AES 256
  • CloudBlockBlob.DownloadToStream 与 DownloadRangeToStream

    尝试使用 ASP NET azure SDK 从 blob 存储下载图像 我在另一篇文章中读到 DownloadToStream 确实将 blob 分解成更小的块并并行下载它们以提高性能 我相信这就是 DownloadRangeToStre
  • JVM 和 HotSpot 之间的区别?

    HotSpot 到底是什么 它与 JVM 和 OpenJDK 有何关系 这是图书馆吗 它到底有什么作用 另外 OpenJDK 和 HotSpot 有什么区别 Java 虚拟机的确切定义在Java虚拟机规范 JVM 根据定义是虚拟机 即模拟真
  • θ(n) 和 O(n) 有什么区别?

    有时我会看到 n 带有奇怪的 符号 中间有一些东西 有时只是 O n 这只是因为没有人知道如何输入这个符号而懒得打字 还是它有不同的含义 简短说明 如果算法的大小为 g n 则意味着随着 n 输入大小 变大 算法的运行时间与 g n 成正比
  • Kotlin RC NoClassDefFoundError

    将 kotlin 更新到 RC 1036 后 我面临一个奇怪的问题 我的代码甚至没有编译和打包 当构建通过并且应用程序启动时我得到ClassNotFoundException Didn t find class example myappl
  • 查看任务的活动堆栈

    我刚刚开始开发一个简单的 Android 应用程序 同时我仍在学习该平台 我正在使用带有 ADT 插件 0 9 6 的 Eclipse IDE 我需要知道是否可以查看Activity与任务关联的堆栈 有没有办法通过 DDMS 工具或任何其他
  • 从 UIAlertView 获取文本

    似乎缺少了一些东西 但是下面的代码正在生成nil两者的值title and title1 即使它正确启动正确的警报类型并且不指示任何警告或错误 这种实施可能存在什么问题UIAlertView UIAlertView alert UIAler
  • 使用 MOSS Web 服务的 SharePoint 文档的权限

    我们需要检索对文档具有读取权限的用户组 我们知道文档的 URL 以下权限服务提供具有访问权限的组 但它需要站点 URL 或列表 URL 我们有一个文档 URL 是否有任何其他服务提供文档的权限 或者 如果我们知道文档 URL 是否有办法找到
  • 仅使用标准 java api(缩进和 Doctype 定位)即可漂亮地打印 javax.xml.transform.Transformer 的输出

    使用以下简单代码 package test import java io import javax xml transform import javax xml transform stream public class TestOutpu
  • CSS 改变输入是否有值的样式

    我有一个带有占位符的输入元素 它应该始终出现 wrapper position relative input font size 14px height 40px placeholder position absolute font siz
  • Tkinter filedialog 破坏条目小部件

    tl dr 当应用程序调用时tkinter filedialog entry字段无法正确聚焦 长解释 初始化 tkinter 应用程序时 entry默认情况下启用字段 他们的状态是tk ENABLED 可以通过滚动字段来关注它们tab 最重
  • jcreator中如何设置jdk路径

    我已经安装了jdk 1 7 in C jdk1 7 0 directory and JCreator in C Program Files directory 我在JCreator中设置了正确的jdk路径 但是当我尝试在其中执行 java
  • 创建临时表前先检查临时表是否存在,如果存在则删除

    我使用以下代码来检查临时表是否存在 并在再次创建之前删除该表 如果存在 只要我不更改列 它就可以正常工作 如果我稍后添加一列 它将给出 无效列 的错误 请让我知道我做错了什么 IF OBJECT ID tempdb Results IS N
  • Delphi TCP连接透明代理

    有人知道用 Delphi 编写的 TCP 套接字代理应用程序的示例吗 我正在构建一个小型代理应用程序 它需要侦听给定 TCP 端口上的套接字连接 读取通过连接发送的 XML 数据包 通过 TCP 将请求发送到从可用后端服务器池中选择的服务器