您好,我将构建两个测试应用程序,一个在用户计算机上运行。它将是一种系统托盘类型的后台应用程序,用于管理指定文件夹的内容。另一个是 Admin 类型的屏幕,显示当前网络中的哪些计算机正在运行第一个应用程序并读取一些数据(文件夹的内容)。
如何通过网络传输数据以查看我的应用程序中的特定数据?同样,我只想查看正在运行的应用程序以及它们正在发送的数据(从管理屏幕)。
您好,我将构建两个测试应用程序,一个在用户计算机上运行。它将是一种系统托盘类型的后台应用程序,用于管理指定文件夹的内容。另一个是 Admin 类型的屏幕,显示当前网络中的哪些计算机正在运行第一个应用程序并读取一些数据(文件夹的内容)。
如何通过网络传输数据以查看我的应用程序中的特定数据?同样,我只想查看正在运行的应用程序以及它们正在发送的数据(从管理屏幕)。
这种应用程序间通信非常适合Ø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!" );