«Указан неверный IP-адрес» При вводе внешнего IP-адреса c# появляется ошибка - PullRequest
0 голосов
/ 17 апреля 2020
    Socket sck;
    EndPoint epLocal, epRemote;
    byte[] buffer;

    private void Connect_Click(object sender, EventArgs e)
    {
        //binding socket
        epLocal = new IPEndPoint(IPAddress.Parse(textLocalIp.Text), Convert.ToInt32(textLocalPort.Text));
        sck.Bind(epLocal);
        //Connecting to remote IP
        epRemote = new IPEndPoint(IPAddress.Parse(textRemoteIp.Text), Convert.ToInt32(textRemotePort.Text));
        sck.Connect(epRemote);
        //Listening the specific port
        buffer = new byte[1500];
        sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
    }

Я создаю "чат" для 2 человек. Если у каждого человека есть IP-адрес и порт других лиц, они могут общаться с ними. Но он работает только в той же сети, потому что, если я набираю любой IP-адрес, который не является локальным, он показывает ошибку «Указан неверный IP-адрес». Я не уверен, как решить эту проблему, и мне также интересно, понадобится ли мне Внешний и Локальный IP-адрес для отправки сообщения на правильный компьютер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...