C# Tcp客户端不断开连接
我的问题是,我第一次使用异步应用程序将Tcp客户端连接到服务器 它的连接和工作,但当我断开它,并再次连接它的数据发送两次一样 s8 s8 连接代码C# Tcp客户端不断开连接,c#,sockets,networking,asynchronous,tcpclient,C#,Sockets,Networking,Asynchronous,Tcpclient,我的问题是,我第一次使用异步应用程序将Tcp客户端连接到服务器 它的连接和工作,但当我断开它,并再次连接它的数据发送两次一样 s8 s8 连接代码 数据发送代码 断开代码 请告诉我解决这个问题的正确途径。。。。 如果有人告诉我解决方案,我可以发送我的所有代码。在开始编写任何使用TCP的代码之前,请确保您有TCP之上的协议规范。否则,不可能修复这样的错误。一旦有了规范,就很容易: 发送程序是否遵循规范?如果不是,那就是错了 接收程序是否符合规范要求?如果不是,那就是错了 如果两个程序都遵
数据发送代码
断开代码
请告诉我解决这个问题的正确途径。。。。
如果有人告诉我解决方案,我可以发送我的所有代码。在开始编写任何使用TCP的代码之前,请确保您有TCP之上的协议规范。否则,不可能修复这样的错误。一旦有了规范,就很容易:
我打赌你认为你在发送消息,但实际上你在发送字节。如果您想发送邮件,您需要一个说明邮件开始和结束位置的规范,并且发件人和收件人都必须遵循该规范。请记住。。。如果要关闭TCPClient,必须调用:newsock.EndConnect,尝试添加此选项是的,我正在以字节形式发送数据David Schwartz我可以将代码发送给您吗。
constatus.Text = "Connecting.....";
// newsock = null;
newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//IPEndPoint iep = new IPEndPoint(IPAddress.Any, 20);
IPEndPoint iep = new IPEndPoint(IPAddress.Parse(textBox2.Text), Convert.ToInt16(textBox3.Text));
newsock.BeginConnect(iep, new AsyncCallback(Connected), newsock);
if (!InvokeRequired)
{
try
{
byte[] message = Encoding.ASCII.GetBytes(Allinput_Command);
client.BeginSend(message, 0, message.Length, SocketFlags.None, new AsyncCallback(SendData), client);
}
catch (Exception) { }
}
else
{
Invoke(new ThreadStart(data_send));
}
client.Close();
timer.Stop();
timer1.Stop();