Exemplo n.º 1
0
        /// <summary>
        /// 连接服务器异步回调
        /// </summary>
        private void ConnCallBackF(IAsyncResult ar)
        {
            StateObject stateObject = (StateObject)ar.AsyncState;

            try
            {
                stateObject.newClient.EndConnect(ar);
                stateObject.listViewModel.DownName = "连接成功.";

                ConnectParam connectParam = new ConnectParam(stateObject.newClient);
                connectParam.bw.Write(stateObject.gameID); //发送游戏ID
                connectParam.stateObject = stateObject;

                downViewModel.connectList.Add(connectParam);

                stateObject.listViewModel.DownName = "准备接收.";

                ReceiveFileDelegate d = new ReceiveFileDelegate(ReceiveData);
                d.BeginInvoke(connectParam, new AsyncCallback(CallBackF), null);
            }
            catch (Exception ex)
            {
                Application.Current.Dispatcher.Invoke(new Action(() =>
                {
                    XWT.MessageBox.Show("未能与服务器取得连接!错误:" + ex.Message, "提示", MessageBoxButton.OK, MessageBoxImage.Error);
                    downViewModel.AllDowns.Remove(stateObject.listViewModel);
                    this.Close();
                }), System.Windows.Threading.DispatcherPriority.Normal);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 发送文件异步回调
        /// </summary>
        private void CallBackF(IAsyncResult arr)
        {
            AsyncResult         ar = (AsyncResult)arr;
            ReceiveFileDelegate d  = (ReceiveFileDelegate)ar.AsyncDelegate;

            try
            {
                d.EndInvoke(arr);
            }
            catch { }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 连接服务器异步回调
        /// </summary>
        public void ConnCallBackF(IAsyncResult ar)
        {
            TcpClient newClient = (TcpClient)ar.AsyncState;

            try
            {
                newClient.EndConnect(ar);
                //连接成功
                viewModel.ConnectStatus = "连接成功...";

                ConnectParam connectParam = new ConnectParam(newClient);
                CreateTempPath(connectParam.tempPath);//创建缓存路径

                viewModel.ConnectStatus = "准备接收文件...";

                ReceiveFileDelegate d = new ReceiveFileDelegate(ReceiveData);
                d.BeginInvoke(connectParam, new AsyncCallback(CallBackF), null);
            }
            catch
            {
                MessageBox.Show("未能与服务器取得连接!");
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// Constructor for this class
 /// </summary>
 /// <param name="peerAddress">The peer Ip Address</param>
 /// <param name="peerPort">The peer listen port</param>
 public PeerReceiverConnectionHandler(string peerAddress,ushort peerPort)
 {
     _peerAddress = peerAddress;
     _peerPort = peerPort;
     fileListDelegate = new GetFileListDelegate(GetFileList);
     receiveFileDelegate = new ReceiveFileDelegate(ReceiveFile);
 }