我已經安裝TCP/IP
從VS15 NuGet Packeges
到我的項目,並引用它是作爲SimpleTCP
,我已經重建項目,但對於SimpleTcpClient client;
它說引用:TCP/IP客戶端和服務器使用基本和
抑制狀態錯誤CS0246類型或命名空間名稱 「SimpleTcpServer」找不到(是否缺少使用 指令或程序集引用?)
不知道有什麼可說的原因,也許我錯過了一些參考甚至使用。
客戶:
using System;
using System.Text;
using System.Windows.Forms;
namespace Client
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SimpleTcpClient client;
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
}
private void button2_Click(object sender, EventArgs e)
{
client.WriteLineAndGetReplay(txtMessage.Text, TimeSpan.FromSeconds(5));
}
private void Form1_Load(object sender, EventArgs e)
{
client = new SimpleTcpClient();
client.StringEncoder = Encoding.UTF8;
client.DataRecevived += Client_DataReceived;
}
private void Client_DataReceived(object sender, SimpleTCP.Message e)
{
textBox1.Invoke((MethodInvoker)delegate()
{
textBox1.Text += e.MessageString;
});
}
}
}
服務器:
using System;
using System.Text;
using System.Windows.Forms;
namespace Server
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SimpleTcpServer server;
private void Form1_Load(object sender, EventArgs e)
{
server = new SimpleTcpServer();
server.Delimeter = 0x13;
server.StringEncoder = Encoding.UTF8;
server.DataReceived += Server_DataReceived;
}
private void Server_DataReceived(object sender, SimpleTCP.Message e)
{
txtStatus.Invoke((MethodInvoker)delegate()
{
txtStatus.Text += e.MessageString;
e.ReplyLine(string.Format("You said: {0}", e.MessageString));
});
}
private void btnStart_Click(object sender, EventArgs e)
{
txtStatus.Text += "Server starting...";
System.Net.IPAddress ip = new System.Net.IPAddress(long.Parse(txtHost.Text));
server.Start(ip, Convert.ToInt32(txtPort.Text));
}
private void btnStop_Click(object sender, EventArgs e)
{
if (server.IsStarted)
{
server.Stop();
}
}
}
}
您的代碼在我身邊正常工作。你介意更新問題以包含完整的代碼嗎? –
.NET中已經有了一個完美的'TcpListener'。不需要Nuget。只是說' – MickyD
@Reousa Asteron你好,我已經在 – nikorio