Napisalem sobie bardzo prosty, ksiazkowy wrecz przyklad klienta i serwera
ktore komunikuja sie ze soba przy pomocy socketow. No i faktycznie
testujac programy u siebie na komputerze nie ma najmniejszych problemow..
Problem powstaje wtedy gdy probuje sie polaczyc z komputera z zupelnie
roznym IP, w sensie, ze nie z tej samej podsieci. Bardzo bym prosil o
pomoc. Jak zrobic zebym polaczenie przez sockety bylo faktycznie
polaczeniem internetowym, a nie dzialalo tylko w LANie..
Dziekuje z góry,
Rafal
--
Używam programu pocztowego Opery: http://www.opera.com/mail/
> Napisalem sobie bardzo prosty, ksiazkowy wrecz przyklad klienta i serwera
> ktore komunikuja sie ze soba przy pomocy socketow. No i faktycznie
> testujac programy u siebie na komputerze nie ma najmniejszych problemow..
Brawo
> Problem
"problemy" to tylko wrozki potrafia rozwiazywac...
a gdybys tak jednak zechcial cos wiecej napisac, moze jakies errory, to
moze ktos tez zechce ci udzielic pomocy...
Pozdrawiam
Brzezi
--
[ E-mail: brz...@enter.net.pl ][ ]
[ Ekg: #3781111 ][ ]
[ LinuxUser: #249916 ][ ]
Nie bądź świnia, pomóż koledze, wyciągnij szklaną kula z szafy :DD
Rufik
Sprawdz ustawienia lokalnego firewalla, badz firewalla na proxy - byc
moze nie przepuszcza tego portu (docelowego).
Pozdrawiam, Daniel L.
a moze jestes za NATem/PATem i amsz w sieci lokalnej adresy lokalne a na
routerze nie ma przekierowania portow?
napsiz gdzie ejst serwer, gdzie klient, jaki error itp...
--
------------------------------------
Krzysztof Wolny
>
> a moze jestes za NATem/PATem i amsz w sieci lokalnej adresy lokalne a na
> routerze nie ma przekierowania portow?
> napsiz gdzie ejst serwer, gdzie klient, jaki error itp...
>
W domu mam swoja wewnetrzna siec lokalna. Moj komputer ma IP
169.193.10.20. Router, ktory mam w domu ma IP 169.193.10.10, a na zewnatrz
192.168.1.70. Jestem podpiety do sieci osiedlowej ktora tam dalej ma
wyjscie na swiat. Jak uruchamiam serwer i klienta na moim komputerze to
wszystko jest ok. Jesli ustawie na routerze forwardowanie portu 2020, i z
mojego kompa sproboje sie polaczyc wspisujac 192.168.1.70:2020 to nie
dziala, a powinno skoro jest forwardowanie.
Testowalem tez umieszczajac serwer i klienta na serwerze AGH. Jesli
klienta i serwer odpale na agh to dziala. jesli z domu proboje laczyc sie
z serwerem na agh to nie dziala. Jesli u siebie postawie serwer i proboje
polaczyc sie z agh to tez nie dziala ( mam otwarty jeden port na serwerze
w mojej sieci wiec polaczenia na tym porcie sa mozliwe. inne programy z
zewnatrz moga sie bezposrednio ze mna polaczyc )
U siebie na kompie mam wylaczony firewall.
To jest blad ktory zwraca klient:
Exception in thread "main" java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:295)
at
java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:161)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148)
at java.net.Socket.connect(Socket.java:425)
at java.net.Socket.connect(Socket.java:375)
at java.net.Socket.<init>(Socket.java:290)
at java.net.Socket.<init>(Socket.java:146)
at Klient.main(Klient.java:15)
netstat -a -n
Protok˘ Adres lokalny Obcy adres Stan
...
TCP 0.0.0.0:2020 0.0.0.0:0 NASťUCHIWANIE
...
Zamieszcze tez fragmenty kodu serwera:
//nasluchiwanie
public static void main( String[] args )
throws ClassNotFoundException, IOException {
ServerSocket gniazdo = new ServerSocket(Server.PORT);
try {
User u1 = new User( gniazdo.accept() );
} finally {
gniazdo.close();
}
}
...
//tworzenie inputu
try {
input = new ObjectInputStream(
new BufferedInputStream(
polaczenie.getInputStream() ));
} catch(IOException e) {
System.out.println("BLAD!: Problem z utworzeniem input dla
usera " + uid);
}
...
//obsluga przyjscia wiadomosci
try {
Ramka R = (Ramka)input.readObject();
if ( R.getCode() == 0 ) break;
System.out.println(R);
}
Czy nie trzeba przypadkiem gdzies ustawic w javie zeby przyjmowal
polaczenia z innych sieci, a nie tylko z tej, w ktorej nasluchuje?
Bardzo dziekuje za wszelka pomoc:]
Zdalny host zakończył połączenie odrzucając je (REJECT).
Rufik
No i gdzie z firewallem wyskakujesz. Chłopak nie wie jak działa sieć
a ty próbujesz się o firewalle pytać?
L.