Клиент-серверное приложение на сокетах Java работает только если запускать на одном компьютере, в чем проблема?
Написал сервер на языке Java, его цель обрабатывать входящие запросы клиентов и возвращать результат, со стороны клиента подключение к серверу осуществляется по IPv4 адресу. Когда и приложение и сервер запускаю на одном устройстве, в одной сети - все работает. Когда сервер на одном, клиент на втором - ноль реакции.
HolterST, тут одним источником не обойтись. Предполагается, что сетевой программист прежде, чем взяться за собственно программирование, должен знать модель OSI, основные протоколы, включая IP и TCP, различать частные адреса, уметь считать маски, понимать принципы коммутации и маршрутизации, уметь пользоваться средствами диагностики сети, типа traceroute. Без всего этого вы будете тыкаться наугад, как слепой котёнок. Может и повезёт нащупать сиську, но к успеху точно не прийти.
Дело в том что к серверу я пытаюсь подключиться через IPv4 адрес компьютера на котором собственно сервер и запущен. Когда и клиент и сервер находятся в одной сети - все работает, когда в глобальной, например с телефона подключиться по этому адресу IPv4 не получается. Может быть проблема здесь какая-нибудь очевидная? Я сейчас учусь и хочу попробовать узнать, в чём же проблема.
HolterST, какой адрес то?
если он из локальной сети типа 192.168.xxx.xxx то само собой у вас ничего не получится
у вас должен быть адрес, который выдал вам ваш провайдер, а на вашем роутере/фаерволе соответствующий порт должен быть открыт (настроено перенаправление запросов из вне на ваш сервер в локальной сети)
p.s. будьте осторожны, провайдеры в рф уже давно ломают интернет, буквально, даже правильно настроенное перенаправление может внезапно не работать (правда ssh, http и https протоколы пока работают).
rPman,
Я в командной строке написал "ipconfig" и там был IP IPv4 вот такой 10.195.42.---
По нему я и пробовал обращаться с клиентского приложения.
Как я понимаю такой не подходит. Провайдер значит мне не выдал?
Нужно им звонить? Как должен выглядеть IP который мне нужен, как он называется? Можете подсказать пожалуйста?
К частным "серым" адресам относятся IP-адреса из следующих подсетей: От 10.0.0.0 до 10.255.255.255 с маской 255.0.0.0 или /8. От 172.16.0.0 до 172.31.255.255 с маской 255.240.0.0 или /12. От 192.168.0.0 до 192.168.255.255 с маской 255.255.0.0 или /16
т.е. вам провайдер выдал адрес из приватной сети, которая недоступна из интернета. Просите честный ip адрес