private void btnResolve_Click(object sender, RoutedEventArgs e) { if (txtPeerName.Text.Length > 0) { // 建立PeerName物件 PeerName peerName = new PeerName(txtPeerName.Text); // 建立PeerNameResolver物件 PeerNameResolver resolver = new PeerNameResolver(); // 宣告非同步解析作業正在執行中所觸發之事件 // 並定義所呼叫的方法為ResolveProgressChangedCallback resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(ResolveProgressChangedCallback); // 宣告非同步解析作業完成時所觸發之事件 // 並定義所呼叫的方法為ResolveCompletedCallback resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(ResolveCompletedCallback); lstPeerNameRecord.Items.Clear(); progressBar.Visibility = Visibility.Visible; // 非同步將PNRP Peer Name解析為PNRP Peer Name記錄物件 resolver.ResolveAsync(peerName, 1); } else { MessageBox.Show("Please enter Peer Name.", "Peer Name Resolver", MessageBoxButton.OK, MessageBoxImage.Error); } }
static void Main(string[] args) { Console.Write("Peer Classifier to Resolve: "); string classifier = Console.ReadLine(); PeerNameResolver resolver = new PeerNameResolver(); Console.Write("Please wait. Resolving..."); try { //records = resolver.Resolve(new PeerName(classifier, PeerNameType.Unsecured)); //DisplayResults(); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolveProgressChanged); resolver.ResolveAsync(new PeerName(classifier, PeerNameType.Unsecured), Guid.NewGuid()); while (isRunning) { Thread.Sleep(1000); //Console.Write("."); } } catch (PeerToPeerException ex) { Console.WriteLine("PeerToPeer Exception: {0}", ex.Message); } Console.WriteLine(); Console.WriteLine("Press Enter to Exit..."); Console.ReadLine(); }
public PeerNameResolver ResolvePeerName(PeerName peerName) { var peerNameResolver = new PeerNameResolver(); peerNameResolver.ResolveCompleted += peerNameResolver_ResolveCompleted; peerNameResolver.ResolveAsync(peerName, Guid.NewGuid()); return(peerNameResolver); }
/// <summary> /// Обновление списка пиров, с методом обратного вызова /// </summary> /// <param name="callback"></param> public void ReloadPeers(Constants.VoidCallback callback) { if (callback != null) { _callbacks.Add(callback); } _peerList.Clear(); _resolver.ResolveAsync(new PeerName("0." + ConnectionConstants.MainPeerName), 1); }
public void FindPeers() { // Создание распознавателя и добавление обработчиков событий PeerNameResolver resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += resolver_ResolveProgressChanged; resolver.ResolveCompleted += resolver_ResolveCompleted; // Преобразование незащищенных имен пиров асинхронным образом resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); }
private void RefreshButton_Click(object sender, RoutedEventArgs e) { // Create resolver and add event handlers PeerNameResolver resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolveProgressChanged); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); // Prepare for new peers PeerList.Items.Clear(); RefreshButton.IsEnabled = false; // Resolve unsecured peers asynchronously resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); }
public void LookupRegistrationAsync(PeerName peerName, EventHandler <ResolveProgressChangedEventArgs> progressChanged, EventHandler <ResolveCompletedEventArgs> completed) { if (peerName == null) { throw new ArgumentException("Cannot have null PeerName"); } _resolver = new PeerNameResolver(); _resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(completed); _resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(progressChanged); Debug.WriteLine(string.Format("Resolving: {0}", peerName.ToString())); _resolver.ResolveAsync(peerName, peerName); }
internal void Refresh() { // Создание распознавателя и добавление обработчиков событий var resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += ResolveProgressChanged; resolver.ResolveCompleted += ResolveCompleted; // Подготовка к добавлению новых пиров _home.ListPeerEntryClear(); _home.SetRefreshMenuEnabled(false); // Преобразование защищенных имен пиров асинхронным образом resolver.ResolveAsync(new PeerName("P2P Sample", PeerNameType.Secured), _home.DlgSetting.Id); }
private void RefreshButton_Click(object sender, RoutedEventArgs e) { // create recognizers and event handlers PeerNameResolver resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += resolver_ResolveProgressChanged; resolver.ResolveCompleted += resolver_ResolveCompleted; PeerList.Items.Clear(); RefreshButton.IsEnabled = false; // parse names async resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); }
public void ResolveAsync() { // Create resolver. resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolveProgressChanged); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); // Prepare for new peer adding Vault.Peers.Clear(); // Solve peer names async //resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); //PeerName peername = new PeerName(Application.ProductName, PeerNameType.Unsecured); resolver.ResolveAsync(peerName, Cloud.Available); }
public void RefreshPeers() { // Создание распознавателя и добавление обработчиков событий PeerNameResolver resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolveProgressChanged); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); // Подготовка к добавлению новых пиров PeerList.Clear(); CanRefreshPeers = false; // Преобразование незащищенных имен пиров асинхронным образом resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); }
private void RefreshButton_Click(object sender, RoutedEventArgs e) { // Создание распознавателя и добавление обработчиков событий PeerNameResolver resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolveProgressChanged); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); // Подготовка к добавлению новых пиров PeerList.Items.Clear(); RefreshButton.IsEnabled = false; // Преобразование незащищенных имен пиров асинхронным образом resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); }
private async void RefreshButton_OnClick(object sender, RoutedEventArgs e) { // Создание распознавателя и добавление обработчиков событий var resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += Resolver_ResolveProgressChanged; resolver.ResolveCompleted += Resolver_ResolveCompleted; // Подготовка новых равноправных участников _peerList.Clear(); RefreshButton.IsEnabled = false; // Распознавание незащищенных равноправных участников асинхронным образом resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); await Task.Delay(5000); // NOTE: Для вызова события ResolveCompleted после максимум 5 секунд resolver.ResolveAsyncCancel(1); }
private void RefreshButton_Click(object sender, RoutedEventArgs e) { try { var resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += resolver_ResolveProgressChanged; resolver.ResolveCompleted += resolver_ResolveCompleted; PeerList.Items.Clear(); RefreshButton.IsEnabled = false; resolver.ResolveAsync(new PeerName("0.P2P Sample"), Cloud.Available, 20); } catch (Exception exception) { MessageBox.Show(exception.Message); MessageBox.Show(exception.StackTrace); } }
private void FindPeers() { // obj unlocks in OnPeerResolveComplete if (_canUpdatePeers) { _canUpdatePeers = false; try { _logger.Debug("Searching peers..."); _foundPeers.Clear(); _peerResolver.ResolveAsync(_peerName, 1); } catch (Exception ex) { _logger.Error(ex, $"Find peers error: {ex.Message}"); } } }
private async void RefreshButton_Click(object sender, RoutedEventArgs e) { // Create resolver and add event handlers var resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolveProgressChanged); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); // Prepare for new peers peerList.Clear(); RefreshButton.IsEnabled = false; // Resolve unsecured peers asynchronously resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1); await Task.Delay(5000); // to fire the Completed event latest after 5 seconds resolver.ResolveAsyncCancel(1); }
public async Task Refresh() { //creating recognizer and add event handler PeerNameResolver resolver = new PeerNameResolver(); resolver.ResolveProgressChanged += new EventHandler <ResolveProgressChangedEventArgs>(resolver_ResolverProgressChanged); resolver.ResolveCompleted += new EventHandler <ResolveCompletedEventArgs>(resolver_ResolveCompleted); //prepare to add new peers peerList.Clear(); //lock (obj) //{ //asynchronous transformation not secured peers await Task.Run(() => resolver.ResolveAsync(new PeerName("0.P2P Sample"), 1)); //} }