C#一个按钮打开与关闭TCPclient
publicForm1(){InitializeComponent();TcpClienttcpClient=newTcpClient();privatevoidbutt...
public Form1()
{
InitializeComponent();
TcpClient tcpClient = new TcpClient();
private void button1_Click(object sender, EventArgs e)
{
string ip = textBox1.Text;
int port = Convert.ToInt32(textBox2.Text);
if (button1.Text == "Connect")
{
tcpClient.Connect(ip, port); }
if (tcpClient.Connected)
{
label2.Visible = true;
label2.ForeColor = Color.Green;
label2.Text = "连接到192.168.0.1 ... 成功!!!";
}
button1.Text = "DisConnect";
}
else
{
tcpClient.Close();
Tag = 0;
label2.ForeColor = Color.Red;
label2.Text = "断开网络连接!!!";
button1.Text = "Connect";
}
}
private void button3_Click(object sender, EventArgs e)
{
// TcpClient tcpClient = new TcpClient();
if (tcpClient.Connected)
{
NetworkStream clientStream = tcpClient.GetStream();
单程序只能运行 一次 ,第2此打开连接时报错 : 不能访问已经释放的对象 。
我的 TcpClient 放在公共区 , 因为我下面还有个按钮 SEND 读写数据 ,
如果把 TCP 实例化写在Buttion1中 打开关闭是 没有问题的 ,
但 Send按钮的 NetworkSteam 就又报错 , 上下文中没有 Tcp/ 请高手解答 ???
第一个按钮 :Connect 按一下后它连接,并字符变成 DisConnect ,再按一下断开连接。 第3次按该按钮时计划应该是连接,但现在就是连接不上 ,调试得到的原因是: TcpClient tcpClient = new TcpClient(); 是写在Form1下面的,不是写在Connect Buttion 事件下面 ,如果写在 Connect Buttion 事件下面 的话 ,连接和断开是没问题的 。 但就是 Send 按钮里面 不能使用 NetworkStream clientStream = tcpClient.GetStream(); 。 因此很矛盾 。 展开
{
InitializeComponent();
TcpClient tcpClient = new TcpClient();
private void button1_Click(object sender, EventArgs e)
{
string ip = textBox1.Text;
int port = Convert.ToInt32(textBox2.Text);
if (button1.Text == "Connect")
{
tcpClient.Connect(ip, port); }
if (tcpClient.Connected)
{
label2.Visible = true;
label2.ForeColor = Color.Green;
label2.Text = "连接到192.168.0.1 ... 成功!!!";
}
button1.Text = "DisConnect";
}
else
{
tcpClient.Close();
Tag = 0;
label2.ForeColor = Color.Red;
label2.Text = "断开网络连接!!!";
button1.Text = "Connect";
}
}
private void button3_Click(object sender, EventArgs e)
{
// TcpClient tcpClient = new TcpClient();
if (tcpClient.Connected)
{
NetworkStream clientStream = tcpClient.GetStream();
单程序只能运行 一次 ,第2此打开连接时报错 : 不能访问已经释放的对象 。
我的 TcpClient 放在公共区 , 因为我下面还有个按钮 SEND 读写数据 ,
如果把 TCP 实例化写在Buttion1中 打开关闭是 没有问题的 ,
但 Send按钮的 NetworkSteam 就又报错 , 上下文中没有 Tcp/ 请高手解答 ???
第一个按钮 :Connect 按一下后它连接,并字符变成 DisConnect ,再按一下断开连接。 第3次按该按钮时计划应该是连接,但现在就是连接不上 ,调试得到的原因是: TcpClient tcpClient = new TcpClient(); 是写在Form1下面的,不是写在Connect Buttion 事件下面 ,如果写在 Connect Buttion 事件下面 的话 ,连接和断开是没问题的 。 但就是 Send 按钮里面 不能使用 NetworkStream clientStream = tcpClient.GetStream(); 。 因此很矛盾 。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询