访问连接接收的IP

时间:2015-03-16 14:24:38

标签: c# tcp connection

我在一些可能非常简单的事情上稍微挣扎但是现在这样。

我有一个名为runServer的方法。一切都在努力。我还有另一个名为logRequest的方法。我希望能够访问我在runServer中设置的变量。什么是最好的方式?

static void runServer()
{
//Everything is working here but the variable/function I want to access is:
string clientIP = connection.RemoteEndPoint.ToString();
}

static void logRequest()
{
// What I want to do is access the string I created in runServer and use it here.
Console.WriteLine(clientIP);
}

我已经调试过它,一切正常。它确实提供了一个IP地址,但我希望能够在控制台上打印该IP地址。 runServer只包含TcpListeners等。运行服务器的基本代码。我想要做的就是在该方法中访问该字符串。

我无法真正将变量clientIP移出方法,因为这是连接的位置。

static void runServer()
        {
            TcpListener listener;
            Socket connection;
            NetworkStream socketStream;
            try
            {
                listener = new TcpListener(IPAddress.Any, 43);
                listener.Start();
                Console.WriteLine("Server Started Listening.");
                while (true)
                {
                    connection = listener.AcceptSocket();
                    string clientIP = connection.RemoteEndPoint.ToString();
                    socketStream = new NetworkStream(connection);
                    doRequest(socketStream);
                    socketStream.Close();
                    connection.Close();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.ToString());
            }
        }

0 个答案:

没有答案