Ejemplo n.º 1
0
 public static SocketMessage GetObjectMessage(ITransferableObject obj)
 {
     return(new SocketMessage()
     {
         MsgType = MessageType.Object,
         objMessage = new SocketObjectMessage()
         {
             Object = obj
         }
     });
 }
Ejemplo n.º 2
0
 public Task SendToAllAsync(ITransferableObject obj, int objMark)
 {
     return(Task.Factory.StartNew(() =>
     {
         lock (locker)
         {
             sendDone.Reset();
             SocketMessage msg = SocketMessage.GetObjectMessage(obj);
             byte[] buf = msg.GetBuffer();
             Task[] tasks = (from client in clients
                             select client.SendRawDataAsync(buf)).ToArray();
             Task.Factory.ContinueWhenAll(tasks, (ts) =>
             {
                 sendDone.Set();
                 return;
             });
             sendDone.WaitOne();
         }
     }));
 }
Ejemplo n.º 3
0
        public Task SendAsync(ITransferableObject obj, int objMark)
        {
            SocketMessage msg = SocketMessage.GetObjectMessage(obj);

            return(SendRawDataAsync(msg.GetBuffer()));
        }