2016-03-19 24 views
-1

Ben C# 'da bir newby programlama yapıyorum ve aşağıdaki sorularım var. Udp yayını alan bir program yapmak istiyorum. Programımda UdpClient kullanmak istiyorum ama isim alanının bulunamadığına dair mesaj aldım. Programımda System.Net.Sockets'ı dahil ettim. Bunu çözmemde bana yardımcı olabilir misiniz?UdpClient bulunamadı

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Net; 
using System.Net.Sockets; 
using System.Runtime.InteropServices.WindowsRuntime; 
using System.Text; 
using System.Threading.Tasks; 
using Windows.ApplicationModel; 
using Windows.ApplicationModel.Activation; 
using Windows.Foundation; 
using Windows.Foundation.Collections; 
using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation; 

namespace Console 
{ 
    /// <summary> 
    /// Provides application-specific behavior to supplement the default Application class. 
    /// </summary> 
    sealed partial class App : Application 
    { 
     /// <summary> 
     /// Initializes the singleton application object. This is the first line of authored code 
     /// executed, and as such is the logical equivalent of main() or WinMain(). 
     /// </summary> 
     UdpClient udpClient = new UdpClient(11000); 
     public App() 
     { 
      Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
       Microsoft.ApplicationInsights.WindowsCollectors.Metadata | 
       Microsoft.ApplicationInsights.WindowsCollectors.Session); 
      this.InitializeComponent(); 
      this.Suspending += OnSuspending; 
     } 

     /// <summary> 
     /// Invoked when the application is launched normally by the end user. Other entry points 
     /// will be used such as when the application is launched to open a specific file. 
     /// </summary> 
     /// <param name="e">Details about the launch request and process.</param> 
     protected override void OnLaunched(LaunchActivatedEventArgs e) 
     { 

#if DEBUG 
      if (System.Diagnostics.Debugger.IsAttached) 
      { 
       this.DebugSettings.EnableFrameRateCounter = true; 
      } 
#endif 

      Frame rootFrame = Window.Current.Content as Frame; 

      // Do not repeat app initialization when the Window already has content, 
      // just ensure that the window is active 
      if (rootFrame == null) 
      { 
       // Create a Frame to act as the navigation context and navigate to the first page 
       rootFrame = new Frame(); 

       rootFrame.NavigationFailed += OnNavigationFailed; 

       if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 
       { 
        //TODO: Load state from previously suspended application 
       } 

       // Place the frame in the current Window 
       Window.Current.Content = rootFrame; 
      } 

      if (rootFrame.Content == null) 
      { 
       // When the navigation stack isn't restored navigate to the first page, 
       // configuring the new page by passing required information as a navigation 
       // parameter 
       rootFrame.Navigate(typeof(MainPage), e.Arguments); 
      } 
      // Ensure the current window is active 
      Window.Current.Activate(); 
     } 

     /// <summary> 
     /// Invoked when Navigation to a certain page fails 
     /// </summary> 
     /// <param name="sender">The Frame which failed navigation</param> 
     /// <param name="e">Details about the navigation failure</param> 
     void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 
     { 
      throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 
     } 

     /// <summary> 
     /// Invoked when application execution is being suspended. Application state is saved 
     /// without knowing whether the application will be terminated or resumed with the contents 
     /// of memory still intact. 
     /// </summary> 
     /// <param name="sender">The source of the suspend request.</param> 
     /// <param name="e">Details about the suspend request.</param> 
     private void OnSuspending(object sender, SuspendingEventArgs e) 
     { 
      var deferral = e.SuspendingOperation.GetDeferral(); 
      //TODO: Save application state and stop any background activity 
      deferral.Complete(); 
     } 
    } 
} 
+0

Kodunuzu buraya ekleyebilir misiniz? – manabreak

cevap

0

İyi Günler Wamor: sadece benim WPF Projesi sınıfı yarattı ve gayet güzel derlenmiş: Eğer projenin ne tür üzerinde çalışıyorsunuz? Bu .Net Framework Hedefleme Visual Studio 2013 olan 4,5

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Net.Sockets; 
using System.Text; 
using System.Threading.Tasks; 

namespace HalliburtonCallouts.ViewModel 
{ 
    public class UPPClass 
    { 
     public UPPClass() 
     { 
      // This constructor arbitrarily assigns the local port number. 
      UdpClient udpClient = new UdpClient(11000); 
      try 
      { 
       udpClient.Connect("www.contoso.com", 11000); 

       // Sends a message to the host to which you have connected. 
       Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?"); 

       udpClient.Send(sendBytes, sendBytes.Length); 

       // Sends a message to a different host using optional hostname and port parameters. 
       UdpClient udpClientB = new UdpClient(); 
       udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000); 

       //IPEndPoint object will allow us to read datagrams sent from any source. 
       IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); 

       // Blocks until a message returns on this socket from a remote host. 
       Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); 
       string returnData = Encoding.ASCII.GetString(receiveBytes); 

       // Uses the IPEndPoint object to determine which of these two hosts responded. 
       Console.WriteLine("This is the message you received " + 
              returnData.ToString()); 
       Console.WriteLine("This message was sent from " + 
              RemoteIpEndPoint.Address.ToString() + 
              " on their port number " + 
              RemoteIpEndPoint.Port.ToString()); 

       udpClient.Close(); 
       udpClientB.Close(); 

      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e.ToString()); 
      } 
     } 
    } 
} 
+0

Merhaba Mark ve manabreak, soruma bir göz attığın için teşekkürler. Lütfen aşağıda benim kodumu bul: – Wamor

+0

Herhangi bir kod göremiyorum –

+0

Kod eklemek için sıkıntılar yaşıyorum. Aptal soru ama kodumu nasıl vurgularım? – Wamor

0

Merhaba Wamor: Bu cevap Ben sadece kod süre derlenmiş size yardımcı olabilir düşünüyorum: benim sistem bulmak için mücadele edildi usings ve şeylerin Kişisel Kod Ahad sürü 4 öge ile diğer ögeleri yorumlama chars '////' UDPClient bulundu:

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Net; 
using System.Net.Sockets; 
using System.Runtime.InteropServices.WindowsRuntime; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows; 
////using System.Windows.ApplicationModel; 
////using Windows.ApplicationModel.Activation; 
////using Windows.Foundation; 
////using Windows.Foundation.Collections; 
////using Windows.UI.Xaml; 
////using Windows.UI.Xaml.Controls; 
////using Windows.UI.Xaml.Controls.Primitives; 
////using Windows.UI.Xaml.Data; 
////using Windows.UI.Xaml.Input; 
////using Windows.UI.Xaml.Media; 
////using Windows.UI.Xaml.Navigation; 

namespace Console 
{ 
    /// <summary> 
    /// Provides application-specific behavior to supplement the default Application class. 
    /// </summary> 
    sealed partial class App : Application 
    { 
     /// <summary> 
     /// Initializes the singleton application object. This is the first line of authored code 
     /// executed, and as such is the logical equivalent of main() or WinMain(). 
     /// </summary> 
     UdpClient udpClient = new UdpClient(11000); 
     public App() 
     { 
      ////Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
      //// Microsoft.ApplicationInsights.WindowsCollectors.Metadata | 
      //// Microsoft.ApplicationInsights.WindowsCollectors.Session); 
      ////this.InitializeComponent(); 
      ////this.Suspending += OnSuspending; 
     } 

     /// <summary> 
     /// Invoked when the application is launched normally by the end user. Other entry points 
     /// will be used such as when the application is launched to open a specific file. 
     /// </summary> 
     /// <param name="e">Details about the launch request and process.</param> 
////  protected override void OnLaunched(LaunchActivatedEventArgs e) 
////  { 

////#if DEBUG 
////   if (System.Diagnostics.Debugger.IsAttached) 
////   { 
////    this.DebugSettings.EnableFrameRateCounter = true; 
////   } 
////#endif 

////   Frame rootFrame = Window.Current.Content as Frame; 

////   // Do not repeat app initialization when the Window already has content, 
////   // just ensure that the window is active 
////   if (rootFrame == null) 
////   { 
////    // Create a Frame to act as the navigation context and navigate to the first page 
////    rootFrame = new Frame(); 

////    rootFrame.NavigationFailed += OnNavigationFailed; 

////    if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 
////    { 
////     //TODO: Load state from previously suspended application 
////    } 

////    // Place the frame in the current Window 
////    Window.Current.Content = rootFrame; 
////   } 

////   if (rootFrame.Content == null) 
////   { 
////    // When the navigation stack isn't restored navigate to the first page, 
////    // configuring the new page by passing required information as a navigation 
////    // parameter 
////    rootFrame.Navigate(typeof(MainPage), e.Arguments); 
////   } 
////   // Ensure the current window is active 
////   Window.Current.Activate(); 
////  } 

////  /// <summary> 
////  /// Invoked when Navigation to a certain page fails 
////  /// </summary> 
////  /// <param name="sender">The Frame which failed navigation</param> 
////  /// <param name="e">Details about the navigation failure</param> 
////  void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 
////  { 
////   throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 
////  } 

////  /// <summary> 
////  /// Invoked when application execution is being suspended. Application state is saved 
////  /// without knowing whether the application will be terminated or resumed with the contents 
////  /// of memory still intact. 
////  /// </summary> 
////  /// <param name="sender">The source of the suspend request.</param> 
////  /// <param name="e">Details about the suspend request.</param> 
////  private void OnSuspending(object sender, SuspendingEventArgs e) 
////  { 
////   var deferral = e.SuspendingOperation.GetDeferral(); 
////   //TODO: Save application state and stop any background activity 
////   deferral.Complete(); 
////  } 
    } 
} 
+0

Üzgünüm, cevaplamayı unutma. Visual Studio 2015 kullanıyorum. Belki bu bir fark yaratır. Kodunuzu Visual Studio'ma kopyaladım ama yine de UdpClient mevcut değil. Şimdiye kadar bana yardım ettiğin için teşekkürler. – Wamor

+0

Wamor: Rica ederim. Ben size yardım etmek için 2015 ile birini beklemek zorunda kalacağım düşünüyorum - İyi şanslar –

+0

Tamam, yine de teşekkürler. Ayrıca VS 2013'ü yükleyeceğim. – Wamor