在应用程序之间发送套接字c#
本文关键字:套接字 应用程序 之间 | 更新日期: 2023-09-27 18:07:58
我想知道是否有一种方法,你有一个。net应用程序名称appA,它接收一个tcp套接字连接,然后根据一些规则将发送套接字连接到另一个.net应用程序名为appB。我知道这违反了很多安全性和良好的实践,但如果可能的话会很有趣。
代理
一种选择是使AppA成为代理。也就是说,它接受连接,并代表客户端连接到AppB,而仅仅转发数据。
套接字重复
您真正寻找的解决方案是Socket.DuplicateAndClose()
(确保您仔细阅读了文档)。这允许你在进程之间转移对套接字的控制。
通常你会:
- 启动apppa、AppB和apppc。
- 使用远程连接允许AppA与AppB和apppc通信。
- 当连接到AppA时,确定将其发送给谁,并:
- 通过远程将套接字发送给子进程。
- 在AppB中使用
Socket(SocketInformation)
构造器打开套接字
不需要转发连接,可以用作中间商
- 您收到第一个连接
- 处理一些规则
- 好了,连接到AppB和所有从apppa获取的东西,发送到AppB
- 如果规则说"no",发送一个错误给AppA