使用C#通过TCP连接两台PC

我正在尝试在两台PC(我的和朋友的)之间建立TCP连接。现在,我知道逻辑非常简单,但是我想检查连接是否成功。 我的朋友启动了服务器,并通过whatismyip.com为我提供了IP地址,但是当我输入该IP时,出现超时错误。 我不太确定这是在另一个LAN中建立与PC的连接的正确方法。会很高兴为您提供任何帮助\建议\外部链接。 下面是我的代码:

internal class Server
{
    private TcpListener m_server;
    private readonly int m_port = 8888;

    public void Start()
    {
        try
        {
            m_server = new TcpListener(IPAddress.Any,m_port);
            m_server.Start();
            Console.WriteLine("Server started");

            while(true)
            {
                TcpClient client = m_server.acceptTcpClient();
                NetworkStream stream = client.GetStream();

                byte[] data = new byte[256];
                int bytes = stream.Read(data,data.Length);
                string message = Encoding.UTF8.GetString(data,bytes);

                Console.WriteLine("From client: " + message);

                stream.Close();
                client.Close();

                if (message == "Shutdown")
                {
                    m_server.Stop();
                }
             }
        }
        catch(Exception e)
        {
            Console.WriteLine("Server: " + e.Message);
        }
        finally
        {
            m_server?.Stop();
        }
    }
}

internal class Client
{
    private System.Net.Sockets.TcpClient m_client;
    private readonly string m_ip = "";
    private readonly int m_port = 8888;
    private readonly string m_message = "Shutdown1";

    public void Start()
    {
        try
        {
            m_client = new System.Net.Sockets.TcpClient();
            m_client.Connect(m_ip,m_port);
            NetworkStream stream = m_client.GetStream();

            byte[] data = Encoding.UTF8.GetBytes(m_message);
            stream.Write(data,data.Length);

            stream.Close();
            m_client.Close();

            Console.WriteLine("Done");
            Console.ReadKey();
        }
        catch(Exception e)
        {
            Console.WriteLine(e.Message);
            Console.ReadKey();
        }
    }
}
luzz111 回答:使用C#通过TCP连接两台PC

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3114924.html

大家都在问