【问题标题】:Send a string from Console Application to WindowsForm application将字符串从控制台应用程序发送到 Windows 窗体应用程序
【发布时间】:2014-01-19 12:44:00
【问题描述】:

我创建了一个 Android 应用程序,它通过 wifi 将字符串发送到我计算机上的控制台服务器。基本上,当用户触摸 Android 应用程序上的按钮时,应用程序会向服务器发送一个“连接”字符串,再次按下它会发送一个“断开连接”字符串。收到字符串后,我需要将其从控制台服务器传递到在同一台机器上运行的 Windows 窗体。 这就是我卡住的地方,如何将字符串从服务器发送到 windowsform 应用程序? 我正在使用 C# 顺便说一句... 谢谢

【问题讨论】:

  • 是什么阻止您使用与 Android 应用程序和控制台应用程序之间的连接相同的机制?

标签: c# winforms console-application


【解决方案1】:

你可以使用这个类NamedPipeServerStream

[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
 public sealed class NamedPipeServerStream : PipeStream

【讨论】:

    【解决方案2】:

    您需要与它“交流”;)。使用 WCF 或在 2 个 .net 应用程序之间创建您自己的 TCP/IP 套接字客户端/服务器应用程序。

    【讨论】:

      【解决方案3】:

      按照 T McKeown 的建议,您可以创建一个 Socket Listener

      该链接提供了一个完整的示例(客户端和服务器)。在您的情况下,客户端将是 android,这会有所不同。

      【讨论】:

        【解决方案4】:

        有多种方法可以实现这一目标。您想要做的事情的技术术语是进程间通信 (IPC),有许多不同的方法可以做到这一点。

        由于您在客户端和服务器上都使用 .NET,因此您的任务要容易得多:您可以使用 Windows Communication Foundation。 WCF 允许您轻松创建通过各种通道(包括 TCP/IP 和命名管道)进行通信的客户端/服务。

        您可以在 CodeProject 上找到Small Sample Project WCF service


        其他方法包括套接字(TCP 甚至 UDP)、命名和匿名管道、共享网络文件夹上的文件、共享内存或消息队列。

        【讨论】:

          【解决方案5】:

          另一种可能性是使用命名管道流,它也适用于内部网络。对于两个应用程序之间的通信,您可以使用您认为最好的方式。阅读 MSDN 上 named pipe streams 上的此文档。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-19
            • 1970-01-01
            • 2011-03-14
            • 2016-07-02
            相关资源
            最近更新 更多