06. november 2001 - 17:39Der er
21 kommentarer og 1 løsning
Sockets i IE
Helløjsa igen.
Denne gang har jeg fat i et ganske simpelt client-server-java-projekt. Serveren kører med en ServerSocket og klienten har en simpel Socket. Ved at starte serveren og køre en accept() på serversocketen kan jeg få forbindelse til klienten (der er en applet). Dette virker også fint i appletvieweren. MEN! Lige så snart jeg prøver i internet explorer, går det galt i den linie hvor socketen bliver initaliseret... i java-konsollen i IE kan jeg se, at der bliver kastet følgende exception:
com.ms.security.SecurityExceptionEx[Client.start]: cannot access \"192.168.1.8\" (som jo selvfølgelig er min lokale ip....) Hvad skal der rettes for at det kan komme til at køre gennem browseren sikkerhedsindstillinger?
Yep det er som lb siger, du kan kun connecte til serveren som appleten er blevet loadet fra. Men du kan godt til andre adresser hvis den er sikkerhedscertificeret.
jeg tror det har noget med din IE at gøre. Den prøver på at oprette en forbindelse til localhost, og dens logik siger at der ikke må oprettes en forbindelse til klienten
Jeg beder den ikke om at connecte til localhost, jeg beder den om at connecte til en ip.... som tilfældigvis er den samme som min localhost... der er forskel på de to ting... men som du siger (og som jeg selv forklarer i spørgsmålet) så er det jo internet explorer der er skyld i det.... det virker jo i appletvieweren....
så du mener at hvis jeg kører appletten på en anden computer i netværk med serveren kørende på min computer (og appletten kørt fra et delt bibliotek fra min computer) vil det virke???
ja. du skal bare huske at den skal serveres fra en webserver, og ikke direkte fra et filsystem, da det vil være at betragte som værende på den lokale maskine
ok, så server-maskinen skal have en web-server kørende samt en java-server. Og klienten skal bare bruge et html-dokument som er kørt fra den web-server? Sounds like a job for apache :)
Jeg tester det lige i morgen, så får vi af se om det virker. Den kan vel egentlig også køres fra den samme maskine, hvis bare web-serveren er i orden....
socket = new Socket(getCodeBase().getHost(), 5000); giver fejlen: com.ms.security.SecurityExceptionEx[Client.start]: cannot access \"127.0.0.1\":5000 jeg har også prøvet med: socket = new Socket(InetAddress.getByName(\"elv\"), 5000); (hvor elv er computernavnet) hvilket gav samme fejl... men det er jo nok fordi jeg ikke har en web-server kørende.....
Jeg smækkede en apache web-server op, lagde klient-filerne derind og kørte serveren på samme maskine.... nu kører det... jeg smækker lidt point ud på forskellige personer...
Jeg mener specifik tutor, dvs hjælp til en opgave med noget gui og nogle metoder og jeg vil gerne betale for det
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.