■
- URLConnection HttpURLConnection
JavaではHttp通信をする時にsocket関連操作をカプセル化した
URLConnectionとHttpURLConnectionがあるので試しに使ってみた。
URLConnectionの場合
try { URL url = new URL(this.getCodeBase(), "../servlet/ServerApp"); URLConnection conn = url.openConnection(); conn.setUseCaches(false); conn.setRequestProperty("Content-Type", "application/x-java-serialized-object"); conn.connect(); InputStream is = conn.getInputStream(); } catch (IOException e) {}
HttpURLConnectionの場合
try { URL url = new URL(this.getCodeBase(), "../servlet/ServerApp"); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setUseCaches(false); conn.setRequestMethod("GET"); conn.setRequestProperty("Content-Type", "application/x-java-serialized-object"); conn.connect(); InputStream is = conn.getInputStream(); } catch (IOException e) {}
双方共にgetInputStream()が無いと実際GETが送られないのと、connectをしなくてもGETが送られる。
※getInputStream()内部でconnectの処理が行われているのだろうか?
- Appletのセキュリティ
Applet側でServerSocketするプログラムを書いてたのだが、
何度やってもクライアント(Applet)側がSynの後にすぐ、RST-ACK
を返してるので始めパーソナルF/Wかと思ったが、Appletのセキュリティ上の問題だった。。(よく考えれば当たり前だorz)
- 文字化け
文字化けが発生する場合は以下のコードを入れて文字コードの
16進数ダンプを見てみる
char[] buf = str.toCharArray(); for (int i=0; i