簡単な要求と応答を使用して、c# (クライアント) と python (サーバー) を相互に通信させることができます。ただし、c# asp.net で構築した Web アプリケーションを安定させ、より多くのクライアントとサーバーを必要とするため、Extended REQ-REP 接続を使用して c# と python を接続してみました。
しかし、以下のコードを実行すると、ブローカーとしての役割を果たさず、何も出力しません。ここで何が間違っていますか?
5600 = C# クライアント
5601 = Python サーバー
using (var frontend = new RouterSocket("@tcp://127.0.0.1:5600"))
using (var backend = new DealerSocket("@tcp://127.0.0.1:5601"))
{
// Handler for messages coming in to the frontend
frontend.ReceiveReady += (s, p) =>
{
var msg = p.Socket.ReceiveFrameString();
backend.SendFrame(msg); // Relay this message to the backend
};
// Handler for messages coming in to the backend
backend.ReceiveReady += (s, p) =>
{
var msg = p.Socket.ReceiveFrameString();
frontend.SendFrame(msg); // Relay this message to the frontend
};
using (var poller = new NetMQPoller { backend, frontend })
{
// Listen out for events on both sockets and raise events when messages come in
poller.Run();
}
}