2012-07-19 86 views
-1

您好,我将构建两个测试应用程序,一个在用户计算机上运行。这将是一个系统托盘类的后台应用程序来管理指定文件夹的内容。另一个是Admin类型的屏幕,用于显示当前网络中的计算机正在运行第一个应用程序并读取一些数据(文件夹的内容)。应用程序之间的网络通信

如何通过网络传输数据以查看来自我的应用的特定数据?再次,我只想看看哪些应用正在运行以及它们发送了什么数据(从Admin屏幕)。

+0

老实说,我希望更多的细节,我不知道是否有良好的术语来什么,我试图完成。我应该改述一下这个问题还是什么? – ikathegreat 2012-07-19 00:45:02

+1

你是否试图做你所描述的?你有代码证明特定的失败?如果您只是想通过网络进行通信,请尝试设置一个作为Windows服务运行的WCF服务,并从管理员屏幕上读取over net.tcp。 – zimdanen 2012-07-19 00:47:33

+0

是的,我已经准备好了骨架。但我不知道如何将这些数据从一个应用程序发送到另一个应用程序。我一直在寻找,我有VS 2010表达,我没有可用的WCF模板? – ikathegreat 2012-07-19 01:02:11

回答

0

这种互动通信非常适合ØMQ这是一个带有套接字API并且不需要代理的异步消息库 - 有很好的C# Binding

代码示例:

var publisher = new ZmqPublishSocket { 
    Identity = Guid.NewGuid().ToByteArray(), 
    RecoverySeconds = 10 
}; 

publisher.Bind(address: "tcp://127.0.0.1:9292"); 

// Add a subscriber. 
var subscriber = new ZmqSubscribeSocket(); 

subscriber.Connect(address: "tcp://127.0.0.1:9292"); 
subscriber.Subscribe(prefix: ""); // subscribe to all messages 

// Add a handler to the subscriber's OnReceive event 
subscriber.OnReceive +=() => { 
    String message; 
    subscriber.Receive(out message, nonblocking: true); 

    Console.WriteLine(message); 
}; 

// Publish a message to all subscribers. 

publisher.Send("Hello world!"); 
相关问题