socket 同步客户端 点击“断开连接”程序报错

huiweichi 2008-11-20 11:54:11

//请求连接按钮
private void button1_Click(object sender, EventArgs e)
{
try
{
myIP = IPAddress.Parse(textBox1.Text);
}
catch { MessageBox.Show("您输入的IP地址格式不正确,请重新输入!"); }
try
{
myServer = new IPEndPoint(myIP, Int32.Parse(textBox2.Text));
connectSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
connectSock.Connect(myServer);
textBox3.AppendText("与主机" + textBox1.Text + "端口" + textBox2.Text + "连接成功! \r\n");
Thread thread = new Thread(new ThreadStart(receive));
thread.Start();
}
catch (Exception ee) { MessageBox.Show(ee.Message); }
}
private void receive()
{
while (true)
{
Byte[] Rec = new Byte[64];
NetworkStream netStream = new NetworkStream(connectSock);
netStream.Read(Rec, 0, Rec.Length); //无法从传输连接中读取数据: 一个封锁操作被对 WSACancelBlockingCall 的调用中断 recMessage = System.Text.Encoding.BigEndianUnicode.GetString(Rec);
//richTextBox1.AppendText(recMessage+"\r\n");
returnStr(returnState);
}
}

//关闭连接按钮
private void button3_Click(object sender, EventArgs e)
{
try
{
if (connectSock.Connected)
{
connectSock.Shutdown(SocketShutdown.Both);
connectSock.Close();
}
textBox3.AppendText("与主机" + textBox1.Text + "端口" + textBox2.Text + "断开连接!\r\n");
}
catch { MessageBox.Show("连接尚未建立,断开无效!"); }
}
请高手帮忙
...全文
200 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huiweichi 2008-11-20
  • 打赏
  • 举报
回复
应该怎样写关闭连接?
长沙三毛 2008-11-20
  • 打赏
  • 举报
回复
Shutdown时可能会产生错误,但异步时一般是返回0个字符

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧