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

标签 c# sockets pointers transfer

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

最佳答案

代理

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

套接字复制

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

通常你会:

  • 启动 AppA、AppB 和 AppC。
  • 使用远程处理允许 AppA 与 AppB 和 AppC 通信。
  • 与 AppA 建立连接后,确定将其发送给谁并:
    • 复制并关闭 AppA 中的套接字。
    • 通过远程处理将套接字发送到子进程。
    • 使用 Socket(SocketInformation) 构造函数在 AppB 中打开套接字。

关于c# - 在应用程序之间发送套接字 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7359330/

相关文章:

C# UML 类图

python - UNIX套接字编程: Issues Getting a C Client to Connect to a Python Server

Java - 客户端从服务器接收空白消息,但仅通过网络

c - Hpux telnet 使用套接字

pointers - 如何创建指向未确定大小类型的拥有指针?

C 指向数组最后一个元素的指针

c# - MVVM应用程序中的工具箱设计

C# protected 属性或字段

c# - IComparable<T>.CompareTo 与 Sort 中的 null 进行比较

c++ - 如果在循环内声明了一个指针变量,它是否与循环的每次传递都与相同的内存地址相关联?