当前位置:编程学习 > C#/ASP.NET >>

c#udpclient问题

各位老师好,本人新手,以下是我调用udpclient的一段代码,用来与另一端传输信息。但是由于使用的是timer方式,所以

send()要被重复执行,可是8001端口声明后,再次运行就会报错,该端口已经使用。程序中我也用到了close,可是不管用啊。。。请问有什么好方法解决没有!谢谢了!!

public  string send(string message)
        {
            UdpClient udpclient = new UdpClient(8001);  

            
            try
            {                
                byte[] sendbytes = System.Text.Encoding.Unicode.GetBytes(message);
                udpclient.Send(sendbytes, sendbytes.Length, ipadd(), 8000);
                if (message == "quit")
                {
                    MessageBox.Show("send already");
                    //Console.WriteLine("send already");
                    udpclient.Close();
                    
                    return "quit";
                }
                else
                {
                    IPEndPoint myhost = null;
                    byte[] getbyte = udpclient.Receive(ref myhost);
                    string getstring = System.Text.Encoding.Unicode.GetString(getbyte);

                    //Console.WriteLine("re:{0}", getstring);
                    udpclient.Close();
                    return getstring;
                }
            }
--------------------编程问答-------------------- 请把
UdpClient udpclient = new UdpClient(8001);
这一句放在
  public string send(string message)
的上面
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,