udp通讯报异常“远程主机强迫关闭了一个现有的连接”

udp通讯报错误“远程主机强迫关闭了一个现有的连接”
新手正在研究UDP通讯,看别人的UDP自收自发程序拿来编译时候,发现好几个程序都存在这样的问题
下面是一个源程序。


using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

public class SimpleUdpClient
{
    public static void Main()
    {
        byte[] data = new byte[1024];
        string input, stringData;
        IPEndPoint ipep = new IPEndPoint(
                        IPAddress.Parse("127.0.0.1"), 9050);

        Socket server = new Socket(AddressFamily.InterNetwork,
                       SocketType.Dgram, ProtocolType.Udp);


        string welcome = "Hello, are you there?";
        data = Encoding.ASCII.GetBytes(welcome);
        server.SendTo(data, data.Length, SocketFlags.None, ipep);

        IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
        EndPoint Remote = (EndPoint)sender;

        data = new byte[1024];
        //uint IOC_IN = 0x80000000;
        //uint IOC_VENDOR = 0x18000000;
        //uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;
        //server.IOControl((int)SIO_UDP_CONNRESET, new byte[] { Convert.ToByte(false) }, null);
        try
        {
            int recv = server.ReceiveFrom(data, ref Remote);

            Console.WriteLine("Message received from {0}:", Remote.ToString());
            Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

            while (true)
            {
                input = Console.ReadLine();
                if (input == "exit")
                    break;
                server.SendTo(Encoding.ASCII.GetBytes(input), Remote);
                data = new byte[1024];
                recv = server.ReceiveFrom(data, ref Remote);
                stringData = Encoding.ASCII.GetString(data, 0, recv);
                Console.WriteLine(stringData);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
            Console.ReadLine();


        }
        Console.WriteLine("Stopping client");
        server.Close();
    }
}


出错行在
 int recv = server.ReceiveFrom(data, ref Remote);
上面一段我自己加了个try_catch

查帖子说是可能是接收端是不是已经关闭了,或者接收端并没有打开某个端口来接收发送端发来的数据

想请教一下,究竟该如何处理这样的问题
------解决方案--------------------
sendto 
9050 是远端端口

bind是本地端口