送信側
using System; using System.Messaging; using System.Runtime.Serialization.Formatters.Binary; using System.Threading; public class QueueSend { const string QUEUE_NAME = ".\\Private$\\TEST"; public static void Main(string[] args) { MessageQueue queue; //メッセージキューがある場合はNewする //ない場合は、作成する if(MessageQueue.Exists(QUEUE_NAME)) { queue = new MessageQueue(QUEUE_NAME); } else { queue = MessageQueue.Create(QUEUE_NAME); } BinaryMessageFormatter bf = new BinaryMessageFormatter(); Message msg; while(true) { DateTime d = DateTime.Now; //メッセージをフォーマットして送信する msg = new Message(d,bf); queue.Send(msg); Thread.Sleep(1000); } } }
受信側
using System; using System.Messaging; using System.Threading; public class QueueRecv { const string QUEUE_NAME = ".\\Private$\\Test"; public static void Main(string[] args) { MessageQueue queue; //メッセージキューがある場合はNewする //ない場合は、作成する if(MessageQueue.Exists(QUEUE_NAME)) { queue = new MessageQueue(QUEUE_NAME); } else { queue = MessageQueue.Create(QUEUE_NAME); } //フォーマッタを指定 queue.Formatter = new BinaryMessageFormatter(); Message msg; DateTime d; while(true) { //メッセージを受信 msg = queue.Receive(); //受信したメッセージを型変換 d = (DateTime)msg.Body; Console.WriteLine(d.ToString()); } } }
0 件のコメント:
コメントを投稿