将数据从 php 发送到 c# 桌面应用程序

本文关键字:桌面 应用程序 数据 php | 更新日期: 2023-09-27 18:35:42

我正在考虑做一个涉及php和c#的项目。我需要做的是从PHP中,用户可以执行某个任务,一旦php处理了一些信息,这些信息就需要发送到c#应用程序,c#可以使用提供的信息做一些其他工作。

c# 应用程序很可能在运行 php Web 应用程序的同一服务器上工作,但如果它们位于完全独立的服务器上,它应该可以工作。

我想我可以将一些XML从php发送到运行c#程序的任何IP地址,但不知道如何让php进行发送和c#应用程序为数据列出。

任何帮助将不胜感激。

将数据从 php 发送到 c# 桌面应用程序

您没有指定要发送的数据的性质,但是如果您通过Web发送数据,那么使用与语言无关的方法(如XML,JSON,Web服务等)意味着您的服务器端语言在很大程度上无关紧要。

但是,如果您要发送诸如大型电影文件之类的内容,那么最好使用FTP或类似文件。

SOAP

在一个首字母缩略词中,您拥有生活中(几乎)任何互操作性问题的解决方案。

"简单地"定义一个在桌面应用程序中运行的Web服务(这是可能的,但不是那么简单)并实例化PHP SoapClient。

XML(纯)

当然,您可以将直接的 XML 输入发送到桌面应用程序。这利用了.NET套接字(System.Net.Sockets)和PHP套接字I/O(fsockopen)。您可以创建特定于应用程序的协议并注入 XML 数据。

如果您已经非常熟悉 XML 并且熟悉套接字,则推荐使用。如果您想要更高级别的可重用性,则不建议这样做。

可以在 C# 服务中打开一个 WCF 通道,然后使用 PHP 调用该通道。

应在桌面应用程序中承载自承载 WCF 服务,并从 php 应用程序调用这些服务。

using System.ServiceModel;
using System.ServiceModel.Description;

示例代码:

[ServiceContract]
public interface IHelloWorldService
{
   [OperationContract]
   string SayHello(string name);
}
public class HelloWorldService : IHelloWorldService
{
  public string SayHello(string name)
  {
    return string.Format("Hello, {0}", name);
  }
}