示例#1
0
        // Metodo que faz a invocação assincrona, devolve false se não encontrar o servidor
        private Boolean WriteAux(String serverIP, int serverPort, String localFileName, byte[] data, long version)
        {
            IDataToClient dataServer = (IDataToClient)Activator.GetObject(
                typeof(IDataToClient),
                "tcp://" + serverIP + ":" + serverPort + "/PADIConnection");

            AsyncWriteDel RemoteDel      = new AsyncWriteDel(dataServer.Write);
            AsyncCallback RemoteCallback = new AsyncCallback(ClientEntry.CBDoWhenReturnFromWrite);

            try
            {
                IAsyncResult RemAr = RemoteDel.BeginInvoke(localFileName, data, version, RemoteCallback, null);
            }
            catch (SocketException)
            {
                System.Console.WriteLine("#WRITE Could not locate server");
                return(false);
            }
            return(true);
        }
示例#2
0
        private bool ReadAux(string serverIP, int serverPort, string localFileName, SemanticType semantic, long minVersion)
        {
            IDataToClient dataServer = (IDataToClient)Activator.GetObject(
                typeof(IDataToClient),
                "tcp://" + serverIP + ":" + serverPort + "/PADIConnection");

            AsyncReadDel  RemoteDel      = new AsyncReadDel(dataServer.Read);
            AsyncCallback RemoteCallback = new AsyncCallback(CBDoWhenReturnFromRead);

            try
            {
                IAsyncResult RemAr = RemoteDel.BeginInvoke(localFileName, RemoteCallback, null);
            }
            catch (Exception)
            {
                System.Console.WriteLine("#READ Could not locate server");
                return(false);
            }
            return(true);
        }