Javan socketille (java.net) voi antaa sitä luotaessa IP-osoitteen ja portin, eli:
Socket socketti = new Socket("XX.XX.XX.XX", portin_numero);
Kun tätä kokeilen syntyy kuitenkin aina IOException poikkeus, oli IP mikä tahansa.
Mistä tällaista onglmaa kannattaa lähteä ratkaisemaan?
API on mukava: http://java.sun.com/j2se/1.4.2/docs/api/java/
Näyttäisi, että nuo muodostimet eivät tykkäisi ottaa IP-osoitetta ollenkaan parametrikseen Stringinä, vaan pitää ensin muodostaa InetAddress, joka ei sekään taida huolia IP-osoitetta?
EDIT: Niin tietysti pääseehän siitä try:lla ja catchilla eroon, mutta tuo Socket on varmaankin ohjelmasi toiminnan kannalta tärkeä :).
Niin. Mielestäni osoitteen voi antaa konstruktorille parametrina, mutta onglema on siinä että, aina kun yrittää ottaa yhteyden esimerkiksi kaverini IP-osoitteeseen, ilmoitetaan virheeksi Connection timed out..
Mitä tämä käytännössä tarkoittaa?
Ehkä sitä että tavoiteltu IP-osoite on saavuttamattomissa? Miksi näin voisi olla? Eli miten tällaisen asian voisi korjata.. taitaa mennä pois ohjelmoinnin puolelta, kaiketi.
Niin tai kaverisi firewall ei päästä sinua jostain portista läpi. Ootko varma et siihe porttii voi connectaa? Ja ootko kokeillu hostilla muodostaa Sockettia?
Jaa'a. Kokeiltiin myös ilman palomuureja, ettei ne ois estänyt. Kokeiltiin ensin echo-porttiin (7) siten että kaverillani oli serveri ohjelma (javaa siis myös). Sitten kokeiltiin ihan satunnaiseen porttiin (>1023).
Voisko siihen vaikuttaa jotenkin mun ja mun kaverini nettiyhteys (pääsyverkko)? Tai voiko palveluntarjoaja (opiskelija-asuntoja molemmat -> Hoasin verkko) estää porttien käytön?
Niin piti vielä kysyä että mitä "Ja ootko kokeillu hostilla muodostaa Sockettia?" tarkoittaa?
Niin siis laittaa host-nimeä Socketin muodostimen parametriksi. Hostin saa selvitettyä vaikka PHP:n komennolla gethostbyaddr(String ip). Ja kyllä palveluntarjoaja voi blokata portteja, mutta tuskin se satunnaisia portteja blokkailee syyttä suotta kertomatta. Jos tahdot niin voin testata ohjelmaasi jos pistät vaikka mailiin.
Kiitoksia, mutta sainkin sen ongelman jo hoidettua. Vika oli vain mussa :P luonnollisesti. Siinä omassa server-puolen ohjelmassa oli pieni vika. Server-client tyyppinen java oli siis kyseessä. Nyt toimii.
Aihe on jo aika vanha, joten et voi enää vastata siihen.