我正在编写一个混合应用程序,它应该使用TCPClient连接到我的服务器,但是在编译时我得到Type or namespace TcpClient does not exist...
,即使我知道我包含了正确的库(因为这段代码是几乎直接从我的C#windows窗体客户端复制。
我可能会把它写在一个普通的Socket上,但是如果有人知道为什么这个没有显示或者我怎么能做到,那会让我的生活更轻松。
谢谢;)
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 :(得分:2)
MSDN明确表示此类仅适用于.NET完整/客户端配置文件,
http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx
在Silverlight或XNA中不可用,因为Microsoft认为您不需要它。
您可以参考Silverlight文章,了解提供了哪种网络支持,
http://msdn.microsoft.com/en-us/library/cc645032%28v=vs.95%29.aspx
可能你可以使用Socket实现同样的目标,
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket%28v=vs.95%29.aspx