c# Одноранговое приложение работает в локальной сети, но не через Интернет. - PullRequest
0 голосов
/ 13 апреля 2020

Сегодня я пытаюсь создать приложение, которое использует P2P (используя TCP). Моя функция TCP работает в локальной сети, но не через inte rnet ...

Код клиента:

TcpClient client = new TcpClient(new IPEndPoint(IPAddress.Any, "local port number")));
client.Connect(IPAddress.Parse("IP to connect"), "port to connect");
NetworkStream stream = client.GetStream();
string message = "message to send";
byte[] packet = Encoding.Unicode.GetBytes(message);
stream.Write(packet, 0, packet.Length);
stream.Close();
client.Close();

Код сервера:

TcpListener Server = new TcpListener(IPAddress.Any, "port to listen");
Server.Start();
while (true)
{
    TcpClient client = Server.AcceptTcpClient();
    NetworkStream stream = client.GetStream();
    byte[] packet = new byte[1024];
    stream.Read(packet, 0, packet.Length);
    string message = Encoding.Unicode.GetString(packet);
    stream.Close();
    client.Close();
}
...