2012-04-08 10 views
0

Ich schreibe eine Mischung Anwendung, die eine TCPClient-Verbindung zu meinem Server verwenden soll, aber beim Kompilieren bekomme ich Type or namespace TcpClient does not exist..., obwohl ich weiß, dass ich die richtige Bibliothek (wie Dieser Code wird fast direkt von meinem C# -Formular kopiert.TcpClient ist nicht in Blend verfügbar

Ich werde es wahrscheinlich über einen normalen Socket schreiben, aber wenn jemand weiß, warum dies nicht angezeigt wird oder wie kann ich es machen, würde es mein Leben einfacher machen.

Dank;)

using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Data; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 
using System.Windows.Shapes; 
using System.Net.Sockets; 
using System.IO; 
using System.Net; 

namespace CCClient 
{ 
    public partial class CCClient 
    { 
     public CCConnection Connection = null; 

     public CCClient() 
     { 
      if ((this.Connection = new CCConnection(IPAddress.Parse("-_-"), 9001)) == null) 
      { 
       throw new Exception("Could not instantiate Client Connection to Server."); 
      } 
      else 
      { 
       this.Connection.WriteLine("Role: client"); 
       this.Connection.WriteLine("Stream: test"); 
      } 
     } 
    } 

    public class CCConnection 
    { 
     public TcpClient HostConnection = null; 
     public StreamWriter HostWriter = null; 
     public StreamReader HostReader = null; 

     public CCConnection(IPAddress Host, int Port) 
     { 
      if (Host == null || Port == 0) 
      { 
       throw new Exception("Could not instantiation CCConnection. Host or Port are invalid."); 
      } 
      else 
      { 
       try 
       { 
        this.HostConnection = new TcpClient(); 
        this.HostConnection.Connect(Host, Port); 
        this.HostWriter = new StreamWriter(this.HostConnection.GetStream()); 
        this.HostReader = new StreamReader(this.HostConnection.GetStream()); 
       } 
       catch (Exception e) 
       { 
        throw new Exception("Could not instantiate CCConnection. Exception encountered.\n" + e.Message); 
       } 
      } 
     } 

     public void WriteLine(String Argument) 
     { 
      if (!String.IsNullOrWhiteSpace(Argument)) 
      { 
       this.HostWriter.WriteLine(Argument); 
       this.HostWriter.Flush(); 
       return; 
      } 
     } 

     public String ReadLine() 
     { 
      return this.HostReader.ReadLine(); 
     } 
    } 
} 
+0

Lol und bei der Untersuchung ist die System.Net.Socket-Klasse nur asynchron verwendbar? Whatthe – DigitalJedi805

+0

Auf welche Plattform/Framework zielen Sie? Wenn Sie auf Silverlight ausgerichtet sind, dann ja: Sie müssen Async verwenden –

Antwort

2

MSDN macht deutlich genug, dass diese Klasse auf .NET Voll-/Client Profile nur verfügbar ist,

http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx

Es ist in Silverlight oder XNA nicht verfügbar Microsoft glaubt nicht, dass Sie es jemals brauchen.

Sie auf Silverlight Artikel beziehen, um zu sehen, welche Art von Netzwerkunterstützung zur Verfügung gestellt,

http://msdn.microsoft.com/en-us/library/cc645032%28v=vs.95%29.aspx

Und wahrscheinlich können Sie Sockel verwenden das gleiche Ziel zu erreichen,

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket%28v=vs.95%29.aspx

Verwandte Themen