C# 即使我打开了它,港口也关闭了

C# 即使我打开了它,港口也关闭了,c#,portforwarding,C#,Portforwarding,我需要帮助解决我的问题。 我使用Comtrend VR 302e。 我已经这样设置了端口转发。 但当我打开联机端口检查器或telnet时,它告诉我我的端口已关闭。为什么? 代码: 服务器 static byte[] data; // 1 static Socket socket; // 1 static void Main(string[] args) { while (true) { socket

我需要帮助解决我的问题。
我使用Comtrend VR 302e。
我已经这样设置了端口转发。
但当我打开联机端口检查器或telnet时,它告诉我我的端口已关闭。为什么?

代码:

服务器

    static byte[] data;  // 1
    static Socket socket; // 1

    static void Main(string[] args)
    {

        while (true)
        {
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Bind(new IPEndPoint(IPAddress.Any, 3459));

            socket.Listen(10);
            Socket acceptData = socket.Accept();
            data = new byte[acceptData.SendBufferSize];
            int j = acceptData.Receive(data);
            byte[] adata = new byte[j];
            for (int i = 0; i < j; i++)
            {
                adata[i] = data[i];
            }
            string dat = Encoding.Default.GetString(adata);
            Console.WriteLine(dat);
        }

    }

我们希望在此处看到完整(但简短)代码,而不是在外部网站上。编辑和添加的代码我们希望在此处看到完整(但简短)代码,而不是在外部网站上。编辑和添加的代码
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try // 1
{
    s.Connect(IPAddress.Parse(textBox1.Text), 3459); // 2
    string q = "It works";                 // 3
    byte[] data = Encoding.Default.GetBytes(q);    // 3
    s.Send(data);
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}