Changeset 615


Ignore:
Timestamp:
11/23/2008 11:51:42 PM (6 years ago)
Author:
cjax
Message:

Still Client could not connect to the server, however, the back bone is there.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/Manager/RemoteExecutor.cs

    r610 r615  
    4141 
    4242        private Thread thread = null; 
    43         private NamedPipeServerStream server =  
     43        private NamedPipeServerStream server = 
    4444            new NamedPipeServerStream(ServerName, PipeDirection.InOut, 32, 
    4545                PipeTransmissionMode.Message, PipeOptions.Asynchronous); 
     
    6060        } 
    6161 
    62  
    6362        public void Abort() 
    6463        { 
     
    7372            while (Thread.CurrentThread.ThreadState != ThreadState.AbortRequested) 
    7473            { 
    75                 if(!server.IsConnected) 
    76                     server.WaitForConnection();  
     74                if (!server.IsConnected) 
     75                    server.WaitForConnection(); 
    7776 
    7877                while (server.Position < server.Length) 
    7978                    mstream.Write(buffer, 0, server.Read(buffer, 0, buffer.Length)); 
    8079 
     80                // the value should not stay null since we have to deserialise it  
    8181                object returnValue = null; 
    8282                using (RemoteExecutorClient.RemoteHeader data = (RemoteExecutorClient.RemoteHeader) 
    8383                    new BinaryFormatter().Deserialize(mstream)) 
    8484                { 
    85  
    8685                    data.SerializationStream.Position = 0; 
    8786 
     
    104103                        case RemoteExecutorClient.Function.ADD_TASK: 
    105104                            task = (Task)new BinaryFormatter().Deserialize(data.SerializationStream); 
    106                             returnValue = null; 
     105                            returnValue = new object(); 
    107106                            break; 
    108107 
     
    119118                        case RemoteExecutorClient.Function.SAVE_TASK_LIST: 
    120119                            stream = (Stream)new BinaryFormatter().Deserialize(data.SerializationStream); 
    121                             returnValue = null; 
     120                            returnValue = new object(); 
    122121                            break; 
    123122 
     
    128127                        // void \+ void 
    129128                        case RemoteExecutorClient.Function.RUN: 
    130                             returnValue = null; 
     129                            returnValue = new object(); 
    131130                            break; 
    132131 
     
    221220    { 
    222221        public static int Instances = 0; 
    223         public const string ClientName = "EraserRemoteExecutorClient"; 
     222        public const string ClientName = "EraserRemoteExecutorClient_"; 
    224223 
    225224        private NamedPipeClientStream client =  
    226225            new NamedPipeClientStream(RemoteExecutorServer.ServerName, 
    227                 ClientName, PipeDirection.InOut); 
     226                ClientName + Instances.ToString(), PipeDirection.InOut); 
    228227 
    229228        public enum Function : uint 
     
    268267            // initialise client and connect to the server 
    269268            object results = null; 
    270             IAsyncResult asyncResult; 
     269            IAsyncResult asyncResult = null; 
     270            client = new NamedPipeClientStream(RemoteExecutorServer.ServerName, 
     271                ClientName + Instances.ToString(), PipeDirection.InOut); 
    271272             
    272             client.Connect(10000); 
    273  
    274             client.ReadMode = PipeTransmissionMode.Message; 
    275             client.Position = 0;             
     273            // wait for a connection for at least 5s 
     274            client.Connect(5000);    
    276275 
    277276            // serialise the data 
     
    287286                    delegate(IAsyncResult ar) 
    288287                    { 
    289                         // completed 
     288                        // completed, might throw 
    290289                        client.EndWrite(ar); 
    291290 
     
    296295                            ms.Write(buffer, 0, client.Read(buffer, 0, buffer.Length)); 
    297296 
     297                        // deserialise the result  
    298298                        results = new BinaryFormatter().Deserialize(ms); 
    299299 
     
    301301            } 
    302302 
    303             // TODO: return the proper results 
    304303            return results; 
    305304        } 
Note: See TracChangeset for help on using the changeset viewer.