Exemple #1
0
        private void OnFileTransferStateChanged(FileTransferState state, FileTransferStateChangeReason reason)
        {
            Console.WriteLine(MSG_PREFIX + "OnFileTransferStateChanged: state {0}, reason {1}",
                              state.ToString(), reason.ToString());

            switch (state)
            {
            case FileTransferState.Open:
                s = new System.Net.Sockets.Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.IP);
                EndPoint ep = new UnixEndPoint(socket_addr);
                s.Connect(ep);
                if (transfer_initiator == self_handle)
                {
                    Console.WriteLine(MSG_PREFIX + "Sending file");
                    ThreadPool.QueueUserWorkItem(delegate { SendFile(); });
                }
                else
                {
                    Console.WriteLine(MSG_PREFIX + "Receiving file");
                    ThreadPool.QueueUserWorkItem(delegate { ReceiveFile(); });
                }
                break;

            case FileTransferState.Completed:
                Console.WriteLine(MSG_PREFIX + "Transfer completed.");
                ift.Close();
                break;
            }
        }
        private void OnFileTransferStateChanged(FileTransferState state, FileTransferStateChangeReason reason)
        {
            //Console.WriteLine ("OnFileTransferStateChanged: state {0}", state);

            switch (state)
            {
            case FileTransferState.Open:
                if (pf_result != null)
                {
                    address   = pf_caller.EndInvoke(pf_result);
                    pf_result = null;
                }

                OnChannelReady(EventArgs.Empty);
                break;

            case FileTransferState.Completed:
                Close();
                break;

            case FileTransferState.Cancelled:
                Close();
                break;
            }
        }