c#Tcp Listener为连接客户端提供功能吗?

时间:2015-10-04 00:02:21

标签: c# tcp

如何为Timer连接客户端参数提供Timer Tick功能? 当然,这里没有定义客户端。

  public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
        {

            string content = "Hello World!";
            System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream());

            }

在我的主要虚空中

static void Main(string[] args)
        {

            TcpListener server = new TcpListener(System.Net.IPAddress.Loopback, 8001);
            server.Start();
            Console.WriteLine("Wait for clients");
            TcpClient client = server.AcceptTcpClient();
            System.IO.StreamWriter writer = new System.IO.StreamWriter(client.GetStream());

        System.Timers.Timer myTimer = new System.Timers.Timer();
        myTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);
        myTimer.Interval = 1000;
        myTimer.Start();
}

1 个答案:

答案 0 :(得分:1)

您可以简单地将客户端引用设为全局。

static TcpClient client = null;

在你的主要方法中:

client = server.AcceptTcpClient();

由于您的计时器仅在客户端引用设置(AcceptTcpClient方法阻塞)后才开始计时,因此您可以在计时器方法中保护NullReferenceExceptions。