Привет, я изучаю, как писать приложение с помощью сокетов, есть мой вопрос. Как я могу подключиться сейчас только в локальной сети, я имею в виду .. я отправлю свое клиентское приложение своему другу, и он сможет подключиться к моему серверу. есть код:C# Как подключиться к общему ip
клиент:
Socket sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sck.Bind(new IPEndPoint(IPAddress.Parse("xx.xx.31.87"), 56597));
sck.Listen(100);//maksymalna ilosc polaczen oczekujacych
Socket accepted = sck.Accept();
byte[] Buffer = new byte[accepted.SendBufferSize];
int bytesRead = accepted.Receive(Buffer);
byte[] formatted = new byte[bytesRead];
for (int i = 0; i < bytesRead; i++)
formatted[i] = Buffer[i];
string strData = Encoding.ASCII.GetString(formatted);
Console.Write(strData + "\r\n");
Console.Read();
sck.Close();
сервер:
Socket sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sck.Bind(new IPEndPoint(IPAddress.Parse("xx.xx.31.87"), 56597)); //yes i censored ip.
sck.Listen(100);//maksymalna ilosc polaczen oczekujacych
Socket accepted = sck.Accept();
byte[] Buffer = new byte[accepted.SendBufferSize];
int bytesRead = accepted.Receive(Buffer);
byte[] formatted = new byte[bytesRead];
for (int i = 0; i < bytesRead; i++)
formatted[i] = Buffer[i];
string strData = Encoding.ASCII.GetString(formatted);
Console.Write(strData + "\r\n");
Console.Read();
sck.Close();
Я сделал перенаправление портов, но когда я хочу написать IPEndPoint мой адрес это дает мне ошибку как недействительные IP.
Как я могу подключиться НЕ только в локальной сети ******************* –
Вы используете свой публичный IP-адрес? Или IP-адрес локальной сети? – Pikoh
Ваш друг за маршрутизатором? Если это так, то ему, вероятно, потребуется переадресовать любой порт, который вы используете. –