Moi!
Uusi ALink RR84 ADSL modeemi ja DLinkin ethernet verkkokortti,
mulla oli aikaisemmin Intelin sisäinen ADSL kortti,
nyt kun hankin uudet laitteet niin KAIKKI Java tutoriaalit
Socketeista lakkasivat toimimasta,
saan aika värikkäitä virheilmoituksia,
address allready in use, UDP
null point exceptions, TCP
jne..
onko kenelläkään kokemuksia tästä ALink RR84 modeemista socketeitten kanssa ??
selaimet ja downloadaus toimii hyvin,
käyttis on WinXP SP2, ja JAVA 6_02,
kiitos,,
TCP client antaa seuraavaa --
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:518)
at java.net.Socket.connect(Socket.java:468)
at java.net.Socket.<init>(Socket.java:365)
at java.net.Socket.<init>(Socket.java:179)
at tcp_clientprogram.SocketClient.listenSocket(SocketClient.java:73)
at tcp_clientprogram.SocketClient.main(SocketClient.java:98)
Toimiiko yhteys localhostiin?
Otatko yhteyden ulospäin vai kuunteletkö ulkoapäin tulevaa liikennettä?
Ulkoinen adsl modeemi mitä luultavammin sisältää NATin tai palomuurin, minkä takia ulkoa sisäänpäin tuleva yhteys ei suoraan onnistu. Tätä pystyy kylläkin usein säätämään modeedin asetuksista. Sisäisellä modeemilla koneellesi todennäköisesti haettiin ulkoinen IP-osoite NATatun sisäverkon IP:n sijaan.
hmmm..
tässä yritän käyttää noita SUN JAVA tutoriaaleja,
ne aina vanhalla modeemilla toimivat,
nyt kun ajan niitä niin saan virheilmoituksia,
tiedän että RR84 Modeemi sisältää NATin ja SPI FireWalin, mutta,
en tiedä tarvitsenko kumpaakaan, onko hyvä idea disabloida molemmat ??
mikä toi NAT muuten on, onko se olemassa
sitä varten jos modeemiin on kytkettynä useampi tietokone,
jos NATin sammuttaa niin enkö sitten enää voi käyttää useita
tietokoneita modeemin kanssa ??
entä mitenkä ton palomuurin kanssa, mulla on myös ZoneAlarm,
jos sais sen pois päältä XPn kanssa,
ja jos sen sitten XPstä sammuttaa, niin, sammuuko se koko
ulkoisesta laitteesta vai tarviiko vielä Linuxista sammuttaa erikseen..
multicast tuntuu toimivan ???
TCP ja UDP eivät toimi ???
[edit]
satutko tietämään koodi sampleja ton Javan ja NATin kanssa ??
yritän lähettää UDP datagram paketteja omasta tietokoneestani
omaan tietokoneeseeni, eli, lähettävä ja vastaanottava kone ovat samoja,
käytän IP osoitteena www.myip.dk osoitteesta saatavaa IP osoitetta, kiitos ??
UDP ei anna virhe ilmoitusta mutta data ei liiku koneeni-netti-koneeni väliä ??
[/edit]
Ensimmäisenä tuli mieleen, ettei vain portti, jota kuuntelet/jonne kirjoitat ole jo käytössä. Onkohan mahdollista, että käyttämäsi portti on tukittu? Hieman hankala juttu.
Jos otat motukan palomuurin pois käytöstä sen omasta GUI:sta, niin sittenhän se on pois päällä kaikilla(eli jos menet selaimella modeemin ip-osoitteeseen ja otat muurin pois päältä sieltä käsin).
Juu, NAT tarkoittaa sitä, että ulospäin modeemin takana olevat koneet käyttävät yhtä IP-osoitetta ja modeemi muuntaa kaikki tähän osoitteeseen tulleet viestit oikealle koneelle sisäverkossa. Modeemi tekee tämän muunnoksen portin perusteella, johon viesti tulee. Tämä muunnos pari (sisäverkon kone / portti) luodaan siinä vaiheessa kun sisäverkon kone ottaa yhteyden ulkomailmaan. Ulkoapäin ei siis voi normaalisti muodostaa yhteyttä sisälle päin. Usein palomuureissa/modeemeissa voi kuitenkin määritellä, että
a) tietty sisäverkon kone ei käytä NATia, jolloin sille haetaan toinen ulkoinen IP-osoite (yksi on jo käytössä tuolla modeemilla)
b) tietty portti ohjataan aina tietylle sisäverkon koneelle.
Siis ainoa ongelma tuon kanssa on, että ulkoapäin sisälle ei normaalitilanteissa sallita yhteyttä. Tämä tietenkin tekee suoran moninpelin kahden koneen välillä vaikeaksi kun yhteydenotto ei onnistu suoraan. Nykypeleissä moninpeli onkin nykyään tehty ulkoisen palvelimen kautta, joilloin kaikki koneet ottavat ensin ulospäin yhteyden, jolloin NATiin tulee 'reikä'.
Wikissä vähän lisätietoa
http://fi.wikipedia.org/wiki/Osoitteenmuunnos
kpzpt kirjoitti:
yritän lähettää UDP datagram paketteja omasta tietokoneestani
omaan tietokoneeseeni, eli, lähettävä ja vastaanottava kone ovat samoja,
käytän IP osoitteena www.myip.dk osoitteesta saatavaa IP osoitetta, kiitos ??
UDP ei anna virhe ilmoitusta mutta data ei liiku koneeni-netti-koneeni väliä ??
Tuo ulospäin näkyvä IP on tässä tapauksessa tuon modeemisi IP-osoite, joka ohjaa tiettyin portteihin tulevan liikenteen sinun koneelle. Jos porteissa ei ole linkkiä koneeseesi, niin viesti ei saavu perille. UDP protokolla on vielä sellainen, että se ei ilmoittele virheistä TCP protokollan tapaan, vaan virheen tullessa paketti vain katoaa. Jos haluat vain testata ohjelmaasi käytä localhost osoitetta 127.0.0.1 tai koneesi sisäverkon osoitetta (ipconfig kertoo), joita ei reititetä ulospäin.
edit:
NAT voi sulkea, jos käytät vain yhtä konetta. Se lisää kuitenkin hiukan tietoturvaa, joten voi katsoa onko siellä muita vaihtoehtoja. Joudut ehkä poistamaan myös DCHP:n käytöstä (jotta oma kone hakee ulkoisen IP:n eikä modeemin tarjoamaa sisäverkon IP:tä), jos poistat NAT:in, en ole ihan varma, kun itselläni noi on aina ollut päällä. Tai sitten tuo onnistuu siltaamalla, hmm. Kokeilemalla tuo varmaa onnistuu. Tai joku joka on tehnyt tuon aikaisemmin voi neuvoa.
Moro!
no joo, taisi mennä askeleen monimutkaisemmaksi tämä Javailu
modeemin vaihdon myötä, toi sisäinen ADSL oli aika helppo,,
mutta joo, mä ajoin ton ipconfigin ja sain sieltä IP osoitteen 10.0.0.3,
10.0.0.3 osoitteella sain paketin siirtymään kotikoneeni-netin-kotikoneeni
välillä (vai meniköhän se nyt edes nettiin asti), mutta siirto toimi kuiteskin, kiitos...
mutta, mitä tehdä ton www.myip.dk osoitteen kanssa, kuinka saan
lähetettyä/luettua UDP paketteja ton www.myip.dk -88.195.98.207- kanssa ??
mulla olisi tarkoitus toteuttaa UDP serveri Javalla, eli olisi tarkoitus
että clientit ottaisisivat yhteyden tohon mun ulkoiseen IP osoitteeseen ja
siintä oikeaan porttiin josta serveri sitten palvelisi..
modeemina oli siis rr84 ALink..
sinne täytyy siis jotenkin asettaa noi server/client ohjelmat ja sallia niille portit ??
tere taas!
no joo, en oikein pääse eteenpäin tän mun ulkoisen modeemin ja Javan kanssa,
mun IP on tällä hetekellä -88.195.98.207-
ja mun sisäverkon koneeni IP on -10.0.0.3-..
kuinka pitäisi toimia kun haluaa lähettää UDP pakettia omakone->omakone..
aina aikaisemmin kun olin PCI ADSL modeemilla,
niin laitoin vain UDP InetAddress toi -88.195.98.207-,
nyt kun on ulkoinen modeemi, niin, siihen saa useita tietokoneita,
yritin laittaa InetAddress
- 88.195.98.207 -
- 88.195.98.207:10.0.0.3 -
- 88.195.98.207/10.0.0.3 -
- 88.195.98.207:home.network -
- 88.195.98.207/home.network -
mutta osoitteet eivät siirrä dataa,
kun taas pelkästään tää
- 10.0.0.3 -
toimii ihan ok..
taitaa olla toi firewall,
kenellä olisi kokemusta, tästä a-linkin roadrunner 84 modeemista ??
taidan olla sokea kun en löydä 10.0.0.2 sivuilta firewall disablea..
Toi 10.0.0.3 on koneen oma sisäverkon IP, jonka se myös tunnistaa omaksi eikä siten lähetä sitä eteenpäin.
Etsi sieltä modeemin konfigista NATin asetukset ja luo sinne mäppäys jonkin ulkoisen portin ja tuon 10.0.0.3 koneen välille.
Omassa modeemissa tuo kohta on NATin alla nimellä "Virtual Server". Siinä voi asettaa, että tietty ulkoisen IP.n portti ohjataan aina tietylle koneelle.
Itselläni se menee jotenkin näin:
LAN IP port public port 10.0.0.3 8080 8080
Oman modeemisi ohjelkirjasta tai nettisivulta luulisi löytyvän tuohon ohjeita.
Aihe on jo aika vanha, joten et voi enää vastata siihen.