通常每个套接字地址(协议/网络地址/端口)只允许使用一次。本用的是udpclient进行绑定的。

大Y 2009-02-21 05:32:10
private void btnQQlogon_Click(object sender, EventArgs e)
{

if (listenClient != null)
listenClient.Close();
try
{
//创建一个新的端口号,接收缓冲区大小,发送缓冲区大小
listenClient = new UdpClient(ServerClientIpPortInfo.ClientReceivePort);
listenClient.Client.ReceiveBufferSize = 1000000000;
listenClient.Client.SendBufferSize = 1000000000;


//下面分别为发送和接叫服务器的信息
SentMessageToServer();

//
AcceptMessageFromServer();

}
catch (SocketException ex)
{
if (ex.ErrorCode.ToString() =="10048")
{
System.Diagnostics.Process[] pros = System.Diagnostics.Process.GetProcesses();
for (int i = 0; i < pros.Length; i++)
{
if (pros[i].ProcessName == "LANClientQQ.vshost")
{
pros[i].Kill();
break;
}
}
listenClient.Client.Close();
listenClient.Close();
}

MessageBox.Show(ex.Message.ToString());
return;
}
finally
{
listenClient.Close();
}

}

在我没有绑定的时候就出现一个这样的问题,时有时玩的呀?不知道是怎么回事,网上查了,要将其释放资源,但第一次能行的通第二次就不行了呀?
请大家给以绑助呀?说具体的方法是多少呀?
本人QQ:609858636
...全文
1229 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
大Y 2010-08-23
  • 打赏
  • 举报
回复
一次发帖不,当时不懂,呵呵
joleang2 2009-02-24
  • 打赏
  • 举报
回复
太快了
ShinNakoruru 2009-02-24
  • 打赏
  • 举报
回复
写出具体出错在哪一行吧,我感觉并不是在这段程序里出错的。

另外finally里面的close和catch里面的是不是重复了?如果发生10048错误,会执行两次listenClient.Close() 吧
大Y 2009-02-24
  • 打赏
  • 举报
回复
是就放到初始化的地方了呀。有会起动的时候是没有问题的呀?我在是一个机子上测试的呀?一个Server,一个Client呀?不小的这引起的呀?不过我没有将一个端口绑定到一起的呀。
lsfv00011 2009-02-21
  • 打赏
  • 举报
回复
listenClient = new UdpClient(ServerClientIpPortInfo.ClientReceivePort);
拿出去防在初始化地方.试下。

110,533

社区成员

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

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

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