在应用程序之间发送套接字c#

本文关键字:套接字 应用程序 之间 | 更新日期: 2023-09-27 18:07:58

我想知道是否有一种方法,你有一个。net应用程序名称appA,它接收一个tcp套接字连接,然后根据一些规则将发送套接字连接到另一个.net应用程序名为appB。我知道这违反了很多安全性和良好的实践,但如果可能的话会很有趣。

在应用程序之间发送套接字c#

代理

一种选择是使AppA成为代理。也就是说,它接受连接,并代表客户端连接到AppB,而仅仅转发数据。

套接字重复

您真正寻找的解决方案是Socket.DuplicateAndClose()(确保您仔细阅读了文档)。这允许你在进程之间转移对套接字的控制。

通常你会:

  • 启动apppa、AppB和apppc。
  • 使用远程连接允许AppA与AppB和apppc通信。
  • 当连接到AppA时,确定将其发送给谁,并:
    • 在AppA中复制并关闭套接字。
    • 通过远程将套接字发送给子进程。
    • 在AppB中使用Socket(SocketInformation)构造器打开套接字

    不需要转发连接,可以用作中间商

    1. 您收到第一个连接
    2. 处理一些规则
    3. 好了,连接到AppB和所有从apppa获取的东西,发送到AppB
    4. 如果规则说"no",发送一个错误给AppA