我正在编写一个混合应用程序,该应用程序应该使用TCPClient连接到我的服务器,但在编译时我得到了Type or namespace TcpClient does not exist...
,尽管我知道我包含正确的库(如这段代码几乎是从我的C#windows窗体客户端直接复制的)。TcpClient在Blend中不可用
我可能会写它在一个普通的套接字,但如果有人知道为什么这不显示或我怎么能做到这一点,这将使我的生活更轻松。
感谢;)
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();
}
}
}
洛尔并在调查后,System.Net.Socket类只能异步使用? What's – DigitalJedi805 2012-04-08 07:25:16
你的目标是什么平台/框架?如果你的目标是Silverlight,那么是的:你需要使用异步 – 2012-04-08 07:56:22