2016-03-19 22 views
-1

Ich bin ein newby Programmierung in C# und habe folgende Frage. Ich möchte ein Programm erstellen, das Udp Broadcast empfängt. In meinem Programm möchte ich UdpClient verwenden, bekomme aber die Nachricht, dass der Namespace nicht gefunden werden konnte. Ich habe System.Net.Sockets in mein Programm aufgenommen. Könnte mir jemand helfen, das zu lösen?UdpClient konnte nicht gefunden werden

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

Könnten Sie Ihren Code hier posten, zusammen mit der beinhaltet? – manabreak

Antwort

0

Good Afternoon Wamor: Ich habe gerade eine Klasse in meinem WPF-Projekt und es ganz gut zusammengestellt: Welche Art von Projekt arbeiten Sie? Dies ist Visual Studio 2013 Targeting .Net Framework 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

Hallo Mark und manabreak, danke für einen Blick auf meine Frage. Bitte finden Sie meinen Code unten: – Wamor

+0

Ich sehe keinen Code –

+0

Ich habe Probleme, Code hinzuzufügen. Dumme Frage, aber wie markiere ich meinen Code? – Wamor

0

Hallo Wamor: Ihre-Code ahad Menge usings und Dinge, die mein System zu finden, zu kämpfen haben: Ich denke, dass diese Antwort Ihnen hilft, kann ich Ihren Code während gerade kompiliert andere Objekte aus mit vier Kommentar Zeichen ‚////‘ der Punkt Kommentierung der UdpClient ist gefunden wurde:

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

Entschuldigung, vergesse zu antworten. Ich benutze Visual Studio 2015. Vielleicht macht das einen Unterschied. Ich habe Ihren Code in Visual Studio kopiert, aber UdpClient ist nicht verfügbar. Danke, dass Sie mir bisher geholfen haben. – Wamor

+0

Wamor: Gern geschehen. Ich denke, Sie müssen auf jemanden warten mit 2015, um Ihnen zu helfen - Viel Glück –

+0

Ok, danke trotzdem. Ich werde auch VS 2013 installieren. – Wamor

Verwandte Themen