在同一台机器上调试TcpClient和TcpListener

时间:2011-09-22 17:41:21

标签: .net sockets

此处是网络编程新手。

我有两件申请。我想在本地调试它。
服务侦听new IPEndPoint(IPAddress.Any, 3000)上的连接 致电tcpClient.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 3000))会引发No connection could be made because the target machine actively refused it 127.0.0.1:3000。 Windows防火墙已关闭。

我做的事情从根本上是愚蠢的吗?

1 个答案:

答案 0 :(得分:1)

你应该在TcpListener上调用Start方法来使其正常工作,否则它将不接受任何连接。

我已经测试过并且此代码段有效:)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            int port = 5124;

            var myListener = new TcpListener(new IPEndPoint(IPAddress.Any, port));
            myListener.Start();

            var tcpClient = new TcpClient();
            tcpClient.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"), port));

            tcpClient.Close();

        }
    }
}