Компьютер 1 -> Интернет-провайдер (имеющий IP-адрес) : 116.203.188.231) -> Широкополосный маршрутизатор -> PC-01/PC-02
Компьютер 2 -> Интернет-провайдер (с IP-адресом) : 49.202.72.175) -> Широкополосный маршрутизатор -> PC-A/PC-B
Я пробую это:
На сервере:
Код: Выделить всё
m_socListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipLocal = new IPEndPoint(IPAddress.Any, 8000);
m_socListener.Bind(ipLocal);
m_socListener.Listen(4);
m_socListener.BeginAccept(new AsyncCallback(OnClientConnect), null);
Код: Выделить всё
m_socClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ip = IPAddress.Parse(49.202.72.175);
int iPortNo = System.Convert.ToInt32(8000);
IPEndPoint ipEnd = new IPEndPoint(ip.Address, iPortNo);
m_socClient.Connect(ipEnd);
EnableCommands(false);
//watching for data
Я проверил брандмауэр и разрешил приложение и порт для обеих систем.< /p>
IP-адрес подключающегося компьютера: 116.203.188.231, IP другого компьютера — 49.202.72.175. IP-адрес 49.202.72.175 предоставляется интернет-провайдером (это не статический IP-адрес, а также он может использоваться другим пользователем со стороны интернет-провайдера), а также больше, чем компьютер, подключенный к Интернету через 49.202.72.175 с использованием локальной сети. Так могу ли я подключить компьютер через разъем? Или есть какая-то технология соединения двух компьютеров?
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/258 ... in-c-sharp