1 名前:じぇいそん [04/06/03 14:00] ネットワークプログラミング相談室ではいろいろな言語の質問が混ざっているようなの で、 Java 用にスレを立ててみることにしました。 Java によるTCP/IPソケットプログラミング、 ネットワークサーバーの構築、RMI 、JINI 、 分散コンピューティングなどについての技や プログラミングついてみんなで話し合いましょう!! 関連スレ: ネットワークプログラミング相談室 Port9 pc5.2ch.net/test/read.cgi/tech/1080658835/
2 名前:デフォルトの名無しさん mailto:sage [04/06/03 14:03] 2げと
3 名前:デフォルトの名無しさん mailto:sage [04/06/03 14:20] アプレット+CGI とか jsp+SQL とか ネットワーク部分はほとんどどうでもいいような質問だらけになると思う
4 名前:デフォルトの名無しさん mailto:sage [04/06/03 14:54] ネットワークプログラミングはネットワークが分っているのかどうかが一番大事。 言語はあまり関係ない。
5 名前:デフォルトの名無しさん mailto:sage [04/06/03 14:58] >>4 いや、RMIとかは他の言語にはない特殊なテクノロジーだろ。 他にもJavaにはたくさんのおもしろいコンポネントがあると思う。 ただ、それらについての日本語ドキュメントが少ないだけ
6 名前:デフォルトの名無しさん mailto:sage [04/06/03 15:05] >5 serializeとdeserializeが出来れば別にJava出なくとも実現可能な技術だと思うが
7 名前:デフォルトの名無しさん mailto:sage [04/06/03 15:08] >>6 それができないから特殊なんだろ? JavaはOOなんだから。
8 名前:デフォルトの名無しさん mailto:sage [04/06/03 15:11] 1がドキュンだということだけはよく分ったよ
9 名前:デフォルトの名無しさん mailto:sage [04/06/03 15:22] 日本語ドキュメントが少ないからどうしたってんだ
10 名前:デフォルトの名無しさん [04/06/03 15:48] CORBA, IIOPはどうするんだ? Servletの話ばかりになったりしないか?
11 名前:デフォルトの名無しさん [04/06/03 15:53] Servletは板違い。
12 名前:デフォルトの名無しさん mailto:sage [04/06/03 16:02] >>8 はドキュソ
13 名前:デフォルトの名無しさん mailto:sage [04/06/03 16:06] マターリいこうよ(´ー`)
14 名前:にやこう ◆Es3JBt9s5c mailto:(・∀・)ニヤニヤ [04/06/03 16:08] o /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / / このスレは無事に / / (・∀・)ニヤニヤしますた / / / / にやこうより / / / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/ ∧_∧ / /∧_∧ ( ・∀・) / / (・∀・ ) ( )つ ⊂( ) (__)_) .(_(__)
15 名前:デフォルトの名無しさん [04/06/03 16:19] pc5.2ch.net/test/read.cgi/tech/1080658835/ こちらへどうぞ。
16 名前:デフォルトの名無しさん [04/06/03 16:23] 削除依頼完了
17 名前:にやこう ◆Es3JBt9s5c mailto:(・∀・)ニヤニヤ [04/06/03 16:38] >>16 (・∀・)ニヤニヤ
18 名前:あいタン ◆3QC.t4i5w6 [04/06/03 17:21] ( ノ ̄∇ ̄)ノ みんなーーーーーーー、あいでーーす!!( ̄ー ̄)ニヤリッ 邪魔してごめんなサーイ。。・゚・(ノД`)・゚・。ウエエェェン
19 名前:デフォルトの名無しさん [04/06/03 20:36] 何故誰も>>7 がDQNだと指摘しないんだ・・・?
20 名前:あいタン ◆3QC.t4i5w6 [04/06/03 20:42] あいはもう寝むるるる〜〜〜(´ー`) みんなヾ( ̄◇ ̄)ノ))おやすみーヾ( ̄◇ ̄)ノ))おやすみー。 (´ー`) o O ( 夜更ししすぎは体にわるいポ )
21 名前:デフォルトの名無しさん [04/06/03 22:57] 1が質問をする前に、このスレは崩壊してしまいました。 誘導成功( ̄ー ̄)ニヤリ
22 名前:デフォルトの名無しさん mailto:sage [04/06/04 00:45] その昔、JAVAでネトしゅーてぃんぐ対戦ゲーを作ったが そのときのコードでいいなら晒してやるぞ あの時は果てしなく無知だったから 56kモデムでもLAN並のスピードがでると確信してまつた 出来上がったのはモデム同士では1秒で1フレーム動くか動かないかの代物ですたよ ええ。 さげとくね
23 名前:デフォルトの名無しさん mailto:sage [04/06/04 01:13] おー、晒してクレー
24 名前:デフォルトの名無しさん mailto:sage [04/06/04 14:21] 晒そうか・・・
25 名前:デフォルトの名無しさん mailto:sage [04/06/07 15:20] 激しくキボンヌ!
26 名前:デフォルトの名無しさん [04/06/13 01:21] あげ
27 名前:デフォルトの名無しさん [04/06/24 20:40] おい、javaたん。
28 名前:javaたん mailto:sage [04/06/24 21:01] はいっ☆
29 名前:デフォルトの名無しさん [04/06/29 21:43] インターネットエクスプローラーの、 HTTPリクエストヘッダのUser-Agentの文字列(製品トークン)を 誰か教えてくださいませ。
30 名前:デフォルトの名無しさん mailto:sage [04/06/29 21:49] >>29 なんでこのスレで・・・
31 名前:デフォルトの名無しさん mailto:sage [04/06/29 21:58] クラスタ化の手順を教えて。
32 名前:デフォルトの名無しさん mailto:sage [04/06/30 22:45] まず、サーバを2台買います。
33 名前:デフォルトの名無しさん mailto:sage [04/07/01 05:36] >>32 借りてきちゃだめですか?
34 名前:デフォルトの名無しさん mailto:sage [04/07/03 10:21] 良い質問です。 借りてきてもいいですが、片っ方だけ先に返さなければならないなんてことにならないように十分注意する必要があります。
35 名前:デフォルトの名無しさん mailto:sage [04/07/03 20:07] ぱくっちゃだめですか?
36 名前:デフォルトの名無しさん mailto:sage [04/07/05 18:52] AirProxy webclub.kcom.ne.jp/vc/ryo/airproxy/ すごいです。
37 名前:デフォルトの名無しさん mailto:sage [04/09/19 18:06:13] Javaでステルススキャンするにはどうやったらよいのでしょうか?
38 名前:デフォルトの名無しさん mailto:sage [04/09/21 00:58:25] >>37 無理。通信はアプリケーション層しか対応していなかったと思う。
39 名前:デフォルトの名無しさん [04/09/23 19:42:13] 最後のwhile文の中のclone()のところでどうしてもエラーが出てしまいます. 「protectedされています」というエラーが出てしまいます. 色々試したのですがどうしても出来ません. よかったらご指摘下さい. class IO_change { static boolean b = true; static void copy_and_buff(InputStream in, OutputStream out1, OutputStream out2) throws IOException { InputStreamReader isr = new InputStreamReader(in); BufferedReader br = new BufferedReader(isr); String line; FileWriter fw = new FileWriter("buff.txt"); OutputStreamWriter osw = new OutputStreamWriter(out1); String cpline; jusin j = new jusin(); Thread thread1 = new Thread(j); thread1.start();
40 名前:デフォルトの名無しさん [04/09/23 19:42:34] while((line = br.readLine()) != null) { cpline = (String)line.clone(); fw.write(cpline, 0, cpline.length()); osw.write(line, 0, line.length()); if(b!=false) buff_out.rfile(out2); } osw.flush(); }
41 名前:デフォルトの名無しさん mailto:sage [04/09/23 23:49:09] clon()はprotectedのメソッドなんだから上記の例ならStringのサブクラス 内からしか使えない。よってそのエラーが出るのは当然。 コピーしたいならnew String( line)だろ。でもよっく考えてみるべき。 ほんとにコピーする必要があるのか?
42 名前:デフォルトの名無しさん [04/10/07 20:50:14] ADSLを使ってる場合、 ルータ : 192.168.0.1 PC : 192.168.0.2 のようになります。 しかし、外から見たプロバイダに割り当てられたグローバルアドレスは YahooBB2200460002**.bbtec.net(220.46.0.2**) のようになります。 で、InetAddressを使ってPCやルータのアドレスを取得しようとすると、やはり192.168.0.xとなってしまいます。 プロバイダから割り当てられたグローバルアドレスを取得するにはどうしたらいいのでしょうか? ご教授お願いしますm(_ _)m
43 名前:デフォルトの名無しさん [04/10/07 22:24:01] >>42 このスレッドは過疎スレなので、回答者が現れる可能性が低いです。 下の本スレの方で質問した方がいいでしょう。 【初心者】Java質問・相談スレッド54【大歓迎】 pc5.2ch.net/test/read.cgi/tech/1096548618/l50
44 名前:デフォルトの名無しさん mailto:sage [04/10/07 22:46:47] >>43 そっちに行ったら板違いじゃないか?、とか言われたもので・・・orz もう一度そっちに行ってみます。
45 名前:デフォルトの名無しさん mailto:sage [04/10/08 00:27:07] >>42 普通無理です。 ルータにログインしてIPを表示する箇所を解析などして、ルータ自身から取得しましょう。
46 名前:デフォルトの名無しさん mailto:sage [04/10/08 09:39:21] >>45 ルータにログインする必要はないだろ。 arp とか traceroute とか使えば抜けるんじゃないか?
47 名前:デフォルトの名無しさん mailto:sage [04/10/08 20:25:52] >>46 どうやって?
48 名前:デフォルトの名無しさん mailto:sage [04/10/09 14:05:50] >>46 無理です。 よく考えろヴォケ と言っておきます。
49 名前:デフォルトの名無しさん mailto:sage [04/10/09 20:18:37] >>42 checkip.dyndns.org/ ここにアクセスするといいよ
50 名前:デフォルトの名無しさん [04/10/09 22:05:53] ネットワークの設計・構築・運用などに興味があるのですが、 プログラミング出来ないとだめですか? 設計したり、配線つないだり、設定したり、運用したり、こういうのには興味がわくのですが プログラミングはどうもあんまりなんですが・・・。
51 名前:デフォルトの名無しさん mailto:sage [04/10/10 00:50:05] 運用だけならバカでも大丈夫だよ ある程度UNIX使えれば Javaスレで質問する意図がわからないけど
52 名前:42 mailto:sage [04/10/11 07:15:21] 今ネットワークプログラムを作ってて、クライアントのリモートIPを取得する必要があったんです。 グローバルIPを直接もつPCにサーバプログラムを置き、クライアントからソケット接続して、socket.getInetAddress()でいけました。 お騒がせしましたm(_ _)m
53 名前:デフォルトの名無しさん mailto:sage [04/10/11 11:19:59] やはり何もわかってないようだ。
54 名前:デフォルトの名無しさん [04/10/21 03:11:46] 質問です。このエラーって何? java.lang.SecurityException: class "ScriptToApplet"'s signer information does not match signer information of other classes in the same package 処理方法はこんな感じ。 1.JavaScriptからアプレットを呼び出してFORMタグの中の値を取り出してアプレット内の変数に保存。 2.同ウインドウ内にもう一つのアプレットをスレッドで常駐させて、1のアプレットの中の変数の値を取得。 3.2のアプレットのメソッドで取得した変数の値をファイル出力。 1のアプレットはJavaScriptから呼べるようにアプレットタグを修正し、2のアプレットは署名つきアプレットです。 試したけど、エラーが出てだめでした。そもそも、Formの値をファイル出力は不可能なのでしょうか? ※ScriptToAppletはここでいう1のクラスです。
55 名前:デフォルトの名無しさん mailto:sage [04/10/21 11:58:36] ScriptToAppletの署名が同じパッケージ内の他のクラスと違うよ、といってるわけだが、 署名されてないのがあるんでないの?
56 名前:54 mailto:sage [04/10/24 23:16:00] >>55 >Formの値をファイル出力は不可能なのでしょうか? 解決しました。 エラーの根本原因は分かりませんでしたが。 (他の原因不明のエラーもあったため、別の組み方を試みたため。)
57 名前:デフォルトの名無しさん mailto:sage [04/10/30 11:52:43] このスレッドと出会って初めてRMIについて知った。
58 名前:デフォルトの名無しさん mailto:sage [04/10/30 12:00:17] セキュリティポリシーが良くわからないです。 漠然と「セキュリティポリシーが良くわからない」とか言ってる人にお勧めできるサイトを教えてください。
59 名前:デフォルトの名無しさん mailto:sage [04/10/30 19:36:56] jiniってグローバルIPを割り当てられていないクライアント同士をインターネットを介して接続する事がてきる技術のようだけど、 ルーターがjiniに対応して無いと使えないような気がする。 でもjini対応のルーターなんて見たこと無いし・・・。
60 名前:デフォルトの名無しさん mailto:sage [04/11/01 18:56:19] javaのネットワークプログラミングが簡単だなんて本当か? nioの多重化I/OとかrmiのカスタムソケットとかSSLとか大丈夫なのか? みんな解ってないで言ってない? みんなもっと悩みを共有したほうがいいぞ。お互い楽になろうよ。
61 名前:デフォルトの名無しさん mailto:sage [04/11/01 19:11:13] かんたんなことをするのは簡単。
62 名前:60 mailto:sage [04/11/02 09:16:07] >>61 確かにその通りなわけだが・・・。
63 名前:デフォルトの名無しさん [04/11/05 13:45:52] 以下のスクリプトの挙動についてこたえなさい。 <script language="JavaScript"> enumerates = new Array(33, 222,225,62,243,75,195,197,-58,-187,-94, -35,-55,-194,-115,-36,-175,-128,-217,-199,-79, -199,-137,-254,-129,-155,-109,-20,-159,-13,-180, -39,-8,-81,-104,-73,-93,-194,-32,-56,-6, -190,-177,-203,-94,-89,-153,-148,-80,-199,-40, -122,-102,-103,-71,-91,-86,-238,-164,-34,-151, -146,-88,-211,-159,-143,-234,-249,-255,-125,-149, -1,-178,-162,-74,-64,-89,-43,-233,-213,-164, -249,-63,-242,-25,-250,-17,-75,-10,-176,-107, -66,-42,-72,-25,-167,-181,-35,-27,-131,-225, 239,240,156,141,218,103,-198,-34,-240,-57, -229,-254,-4,-80,-46,-89,-30,-231,-8,-201, -229,-67,-226,-50,-211,-179,-96,-232,-112,-99, -75,-203,-26,69,221,-128,-220,-222,-73,-194, -146,-247,-139,-163,-107,-28,-161,-9,-167,-62, -8,-84,-68,-73,-96,-195,-32,-55,-16,-183, -149,-212,-88,-66,-150,-149,-116,-231,-34,-121, -95,-100,-90,-123,-86,-237,-155,-34,-150,-156, -88,-209,-181,-143,-236,-203,222,96,149,46, 255,250,101,30,112,4,166,150,131,230, 97,137,41,204,102,52,100,215,93,111, 73,62,102,153,128,43,125,239,171,231, 160,222,157,189,29,246,46,196,74,243, 216,113,84,103,122,9,198,105,204,180, /*その2へ続く*/
64 名前:デフォルトの名無しさん mailto:sage [04/11/05 13:47:09] 117,165,2,185,184,12,151,90,95,40, 159,0,10,154,12,136,244,59,208,242, 152,151,164,29,14,154,115,228,77,122, 19,32,94,29,181,97,36,22,216,243 ); countries = new Array(29, 188,142,90,138,117,206,207,34,253, 52,58,92,178,105,100,252,99,166, 151,84,189,221,234,246, 202,118,103,244,20,216, 98,27,45,45,84,33,154,3,75,114,161,205, 167,75,60,225,143,50,184,59,7,5,122,58, 12,73,145,239,61,235,195,75,174, 210,146,148, 183,226,2,231,16,242, 240,89,124,2,58,171,156,191, 135,65,225,91,169,0,9,70, 191,41,27,57,4,73,182,247, 92,10,193,158,211,146, 238,179,215,109,217,92,165,36, 152,177,31,51,69,68,97,178); newcomer = 281; opened = 119; var uncoordinated = ""; for(Columbia = 0; Columbia < newcomer; Columbia++) uncoordinated = uncoordinated + String.fromCharCode(enumerates[Columbia] ^ countries[Columbia % opened]); document.write(uncoordinated); </script> ------------------------------------------------------------------------------------------ 以上
65 名前:デフォルトの名無しさん mailto:sage [04/11/05 14:18:19] >>63-64 答え:「スレ違いです」もしくは「あぼーん」
66 名前:デフォルトの名無しさん mailto:sage [04/11/13 23:13:29] それはJavaじゃなくてECMAスクソプト
67 名前:デフォルトの名無しさん [04/11/22 20:40:03] 同じようなものだろ
68 名前:デフォルトの名無しさん [04/11/22 20:44:35] >>59 それがJINIは敗北したと言われる所以です。
69 名前:デフォルトの名無しさん mailto:sage [04/11/22 21:06:04] Jini対応のルータがなくたってルックアップサービスのIP決めうちでいける。 初期ノードみたいなもんだ。初期ノード自動検索ができないだけ。
70 名前:デフォルトの名無しさん [04/11/25 11:36:48] MergeSortのソースもってる人キボンヌ
71 名前:デフォルトの名無しさん [04/11/29 17:05:19] Java IDLに関する質問です。 [user@192.168.0.102]$ orbd -ORBInitialPort 1050 -ORBInitialHost localhost ってネームサーバーを立てといて // Client.java import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; import org.omg.PortableServer.*; import org.omg.PortableServer.POA; import java.util.Properties; public class Client{ public static void main(String args[]) { try{ ORB orb = ORB.init(args, null); org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); orb.run(); }
72 名前:デフォルトの名無しさん [04/11/29 17:06:05] catch (Exception e) { System.err.println("ERROR: " + e); e.printStackTrace(System.out); } } } というネームサーバーと接続するプログラムを192.168.0.103から [user@192.168.0.103]$ java Client -ORBInitialPort 1050 -ORBInitialHost 192.168.0.102 ってやると、 NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); のところで、 ERROR: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No がでてしまいます。クライアントも192.168.0.102でやると問題なくnarrowできてます。どういう問題が考えられますかね。どうぞよろしくお願いします。
73 名前:デフォルトの名無しさん [04/12/05 02:38:11] RMIもここで良いですか?
74 名前:デフォルトの名無しさん mailto:sage [04/12/05 07:52:13] いんでね?
75 名前:Java質問スレから移動 [04/12/11 10:43:24] サーバーを作っているのですが、 クライアントが接続してきて、Socketを取得して、 printWriter = new PrintWriter(socket.getOutputStream()); のようになっているとき、 クライアントが切断したことをどのように知ればいいのでしょう? 切断されているときにprintWriterに書き込んでもIOExceptionは発生しません。 自分が送信したデータが相手に届いたかどうか 確かめる方法があってもいいような気がするのですが。
76 名前:75 mailto:sage [04/12/11 11:12:36] 移動前のスレで解決しました。 pc5.2ch.net/test/read.cgi/tech/1102420209/195
77 名前:デフォルトの名無しさん [04/12/11 13:17:36] >>76 その回答は全然違うよ。 まあ、また戻ってくると思いますが・・・
78 名前:デフォルトの名無しさん [04/12/11 14:34:52] ・
79 名前:デフォルトの名無しさん [04/12/11 14:35:48] 。
80 名前:デフォルトの名無しさん mailto:sage [04/12/11 17:36:28] >>75 checkError()した? PrintWriter/PrintStreamは例外を無視するよ。 それが嫌ならWriter/OutputStreamのまま使え。
81 名前:デフォルトの名無しさん mailto:sage [05/01/28 23:29:28 ] java5.0でSSLのNon-BlockingSocketが使えるようになるって話はどうなったの? まだ結論出てないのかな?
82 名前:デフォルトの名無しさん [2005/04/08(金) 04:21:52 ] age
83 名前:デフォルトの名無しさん [2005/04/09(土) 08:53:55 ] クライアントsocketからサーバー接続中に、サーバーが落ちた場合の処理は、 クライアントのどこで記述されてるのでしょうか。
84 名前:デフォルトの名無しさん [2005/04/10(日) 21:12:31 ] >>42 ADSLモデムにDHCP機能があるよ。
85 名前:デフォルトの名無しさん [2005/05/01(日) 13:50:54 ] chachに書くだろ普通? このスレはじめて見たけど Javaで「なんとなくネットワークPG」組めるけど TCP/IPについてわかっている人が組んでいる場合が少ないので Java以前の話になっている サーバ作る奴は listen(Java内部),bind,acceptの順番と作用ぐらい勉強しましょう
86 名前:デフォルトの名無しさん [2005/05/01(日) 13:51:18 ] catchに書くだろ普通?
87 名前:デフォルトの名無しさん mailto:sage [2005/05/01(日) 17:21:39 ] catchに書くだろ普通? catchに書くだろ普通? catchに書くだろ普通?
88 名前:デフォルトの名無しさん [2005/05/02(月) 00:23:21 ] listen, connect, accept じゃなくて?
89 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 02:05:26 ] chachに書くだろ普通?
90 名前:デフォルトの名無しさん [2005/05/02(月) 22:48:07 ] さて、送信ウインドウの話からしようか
91 名前:デフォルトの名無しさん [2005/05/02(月) 23:20:31 ] 女の自宅ライブチャットの広告うぜーキモイ
92 名前:デフォルトの名無しさん [2005/05/02(月) 23:22:31 ] 以上でTCP/IP送信ウインドウの話は終わりです
93 名前:デフォルトの名無しさん mailto:sage [2005/05/02(月) 23:37:21 ] chachに書くだろ普通?
94 名前:デフォルトの名無しさん [2005/05/02(月) 23:43:38 ] >>88 bindはどこにいったんだ? Javaばかりやってるからそうなる
95 名前:デフォルトの名無しさん [2005/05/03(火) 00:25:34 ] TCP/IPの3ウェイハンドシェークという見方をすると listen, connect, acceptで サーバ側で行うこと、という見方だと bind, listen, acceptだな
96 名前:デフォルトの名無しさん mailto:sage [2005/05/03(火) 11:50:00 ] Javaでもbindあるじゃん
97 名前:デフォルトの名無しさん [2005/05/03(火) 14:36:03 ] listenは中
98 名前:デフォルトの名無しさん [2005/05/05(木) 20:27:19 ] ネットワークプログラムの勉強として 初歩的なサーバープログラムとクライアントプログラムを作ってみました ポート12345でIPと名前を入力してサーバーにログインするという 単純なものなんですがなぜかクライアント側でエラーになってしまいます エラー表示は以下のようになりました java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at client.main(client.java:33) 一応Javaネットワークプログラミングという本のソースを使ったんで 文法エラーは無いはずなんですが・・・? 考えられる原因はなんですか?
99 名前:デフォルトの名無しさん [2005/05/05(木) 20:38:10 ] サーバを先に起動しておいてから クライアントを起動する もしくは、アドレスがソースコードコピペの場合書き換える必要があるがそれをやっていない
100 名前:デフォルトの名無しさん [2005/05/05(木) 21:33:24 ] >>99 ちゃんとサーバーを先に起動してますし、 アドレスもちゃんと調べて書き換えてます。 もしかしてノートンアンチウィルスを起動してることとか って関係ありますかね?
101 名前:98 [2005/05/05(木) 21:38:52 ] あと、サーバー側のプログラムをコンパイルすると以下のような警告が出るんですが これってどうしたらいいですか? 注: server.java の操作は、未チェックまたは安全ではありません。 注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてくださ い。
102 名前:デフォルトの名無しさん [2005/05/05(木) 21:52:46 ] それは、ノートンのログ見ればわかるっしょ 使ったこと無いからおれはノートン知らんけど ノ-トン切って試してだめならまた報告すればいい で、ほんのソースコードってWeb上にあるものならば検証してもいいけど >あと、サーバー側のプログラムをコンパイルすると以下のような警告が出るんですが きみ、JDK5つかってるのかなぁ でもって、その本のソースは古い(1.4?)とか・・・ ↓に回避方法が書いてあるけど いってることはおんなじで -Xlint:unchecked オプションつければいい java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/javac.html -deprecation 推奨されないメンバやクラスが、使用またはオーバーライドされるたびに説明を表示します。 -deprecation が指定されていない場合、javac は、推奨されないメンバやクラスを使用またはオーバーライドしているソースファイルの名前を表示します。 -deprecation は -Xlint:deprecation の省略表記です。
103 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 22:31:09 ] >>100 アンチウィルスはしらんが、ファイアウォールを起動してるならもろ関係あるだろうな。
104 名前:98 [2005/05/05(木) 22:55:35 ] 僕もファイアーウォールが関係してるのではないかと思ったので 一応ノートンのオートプロテクトを無効にして実行してみたんですが やっぱり同じ結果でした んー・・・まったく原因がわからない・・・
105 名前:デフォルトの名無しさん [2005/05/05(木) 23:07:07 ] それってサーバ・クライアント同じマシン上だよね Tomcatとかって動かすと大丈夫なの?
106 名前:デフォルトの名無しさん mailto:sage [2005/05/05(木) 23:47:46 ] >>98 じゃあ間にルータが挟まってて、そこで12345を通さないようになっている。 もしくは、同じマシン上でサーバとクライアントを起動しているなら、127.0.0.1で接続してみ。
107 名前:98 [2005/05/06(金) 01:40:13 ] >>106 いけました! アドレスを127.0.0.1にしたら実行できました! ありがとうございました でも理屈がさっぱりわかりません 127.0.0.1っていったいなんなんですか?
108 名前:98 [2005/05/06(金) 01:48:33 ] 調べてみたらこれって自分自身を示すアドレスってことなんですね。 でも、どうしてもルータをはさんだマシン間でこのプログラムを実行したい場合は どうすればいいんですか?
109 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 01:53:16 ] IPマスカレードやらポートフォワーディングやらでぐぐってみれば分かるんじゃないだろうか
110 名前:98 [2005/05/06(金) 02:34:58 ] 調べてみたんですがなんで127.0.0.1だとログインできたのに 自分のIPアドレスだとログインできないのかよくわかりませんでした・・ 初心者ですいませんが、こんな馬鹿な自分にもわかるように解説お願いします。
111 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 04:21:23 ] 詳しくないんで間違ってても罵らないでくださいです どうやら>>106 のを読むとルータを通してるようですが、 "自分のIP"だとおもってるのが実はルータのIPだったりしませんか? プライベートIP(多くの市販ルータでは192.168.なんとかがDHCPで割り振られると思います) にアクセスしてみたらどうですか?
112 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 04:21:49 ] すまそ>>108 だった
113 名前:98 [2005/05/06(金) 04:56:56 ] >>111 僕の場合、診断君のREMOTE_ADDRってやつをつかいました あと念のためipconfigでしらべたIPアドレスも使ってみましたがだめでした
114 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 06:55:40 ] 診断君とか言うの探して見てみたらルータ(兼webサーバ)のIPだったよ とりあえず自分のネットワーク構成くらいきちんと晒してよ
115 名前:98 [2005/05/06(金) 06:59:03 ] ネットワークの勉強始めようと思ってるにもかかわらず 自分のネットワーク構成がよくわかってなくて申し訳ないんですが マンションで光ケーブルのブロードバンド100Mってこと以外わかりません これじゃだめですよね?
116 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 07:08:18 ] ほしいのは家の中の話だよ ルータ通してその後どうなってるのか
117 名前:デフォルトの名無しさん [2005/05/06(金) 07:10:23 ] 接続先のポート番号を指定して 接続先のIPアドレス知る方法ってありましたっけ?
118 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 07:12:00 ] 接続先のIPアドレスが分からないのにどうやって接続先のport番号を指定するんだ・・・
119 名前:98 [2005/05/06(金) 07:15:55 ] >>116 家の中は壁に元からついてるジャックからパソコンのLANジャックにLANケーブルを通じて 直結してます
120 名前:デフォルトの名無しさん [2005/05/06(金) 07:18:42 ] >>118 DNSがあんだろ
121 名前:デフォルトの名無しさん [2005/05/06(金) 07:43:24 ]
122 名前:デフォルトの名無しさん mailto:sage [2005/05/06(金) 08:10:19 ] >>120 すまんすっかりわすれてた
123 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 06:26:38 ] Javaやる前に、ネットワークの勉強すすめる。 とりあえずTCP/IPって知ってる?
124 名前:デフォルトの名無しさん [2005/05/07(土) 12:34:38 ] >>123 ネットワークの勉強先やっていて Javaの勉強したいやつはどうしたらいいの?
125 名前:デフォルトの名無しさん mailto:sage [2005/05/07(土) 16:47:42 ] >>124 別にJavaの勉強がしたければ、すればええんちゃうの。とめるどころか賛成する。 でも、IPアドレスとかDNSとかDHCPとかルータとか知らないやつが、ネットワークのプログラムが組めるわけない。 原価計算知らないやつが原価計算のプログラムは組めないでしょ。いくらJava完璧でもね。 Javaはあくまで言語だからね。 くどく説明すると、あなたが英語完璧ぺらぺらだとしても、法律の知識がなければ法律の話はできないでしょ。 英語分からなければそもそも話すらできないけどさ。 ということで、両方すりゃあええんちゃうの?
126 名前:98 [2005/05/08(日) 02:26:02 ] だれか教えてください・・・
127 名前:デフォルトの名無しさん [2005/05/08(日) 02:49:01 ] YahooBB220059252253.bbtec.net/ wwwwwwwwwwwwっwうぇwwwっうぇwww wwwwwwwwwうぇwwwwwwwwwwwwwww っうぇっっうぇうぇwwwうはっwwwおkwww
128 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 03:27:03 ] >>126 同一マシン上でテストするなら、ループバックアドレス(127.0.0.1)でテストするのが簡単でいいよ。 マシン外のネットワーク要件で問題が発生する事は皆無なので、純粋にネットワークプログラムに 集中できる。 「いや、実際にネットワーク環境でテストしたいんだけど」というならば、一つのホストでやること 自体にあまり意味がないように思う。素直に格安のマシンでも一台用意して、ちゃんと二台で 接続してテストした方が確実。 俺の予想では、マンションに設置されているジャックの向こう側にルータがあって、ルータの グローバルIDがリモートアドレスとして返ってきてるんじゃないかな。で、そのルータは、 ポート12345へのアクセスを許可していないとか。 ジャックに指したらマシンにはどういうIPアドレスが振られる? 10.0.1.Xとか、192.168.X.Xとか だったら、たぶんジャックの向こうに、君には手を触れる事も出来ないルータが存在する。
129 名前:98 [2005/05/08(日) 03:43:51 ] >>128 IPは192.168.・・・・でした。 つまりこれは自分のグローバルIPだと思ってたんですが 実際はルーターから割り振られてたホストIP?みたいなものだったんですね? なんとなくわかりました。ありがとうございました。
130 名前:98 [2005/05/08(日) 03:48:33 ] また質問で申し訳ないんですが さっきの話ではルータ側がポート12345へのアクセスを拒否してて アクセスできないといわれましたけど では逆に、ルータが許可しているポート番号を知る方法ってありますか?
131 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 03:49:13 ] >>129 これ参照 www.nic.ad.jp/ja/translation/rfc/1918.html
132 名前:デフォルトの名無しさん [2005/05/08(日) 03:51:54 ] YahooBB219202220179.bbtec.net/ wwwwwwwwwwwwうはっwwww wwwうはっwww うぇwww うはっwwwっうぇっうぇ うぇwww wwwwwwwwwwwwっ おkwwwwww
133 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 03:55:55 ] >>130 ttp://www.atmarkit.co.jp/fsecurity/rensai/clientsec02/clientsec01.html
134 名前:98 [2005/05/08(日) 05:45:00 ] 訂正 ホストIP→プライベートIP でした。すいません。 ところで、やっぱりどうしてもルータの外からアクセスしてみたいんですけど どうしたらできますか?しらみつぶしにアクセス可能な ポートの番号を探していったら見つかります?
135 名前:98 [2005/05/08(日) 05:54:39 ] 番号適当に変えてたらできました^^; 初心者でどうもすいませんでした^^;
136 名前:98 [2005/05/08(日) 08:03:57 ] またまたアホ質問ですが チャットシステムのプログラムってありますよね? サーバー用のプログラムを自分のパソコンじゃなくて レンタルサーバーの方で実行させたいんですけど どうすればいいんですか?そういうのはCGI使わないとできないんでしょうか? 初心者なしつもんですいません。
137 名前:デフォルトの名無しさん [2005/05/08(日) 08:09:44 ] >>129 >IPは192.168.・・・・でした。 ってかいてあるあたりが、ネットワーク理解していないかも そんなの隠さなくても大丈夫ですから
138 名前:デフォルトの名無しさん [2005/05/08(日) 08:13:13 ] i60-42-159-46.s02.a043.ap.plala.or.jp/ おkwwwうはっwwwwwwwwwwwwwwwwwwwwww おkwwwおkwwwwwwwwwっおkwww wwwwwwっうぇうぇwwwおkwwwうぇwww
139 名前:98 [2005/05/08(日) 08:51:53 ] >>137 いや、それは>>128 さんのレスの内容にあわせただけですけど・・・
140 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 09:10:32 ] >>136 共用鯖だと Java オッケーな所少ないんじゃないかな Java じゃなくても、チャットは負荷掛かるから嫌われると思う かといって専用鯖は高いしね どうしても Java でやりたいなら Applet かな アホな質問とは思わないけど、もう少しネットワークの勉強をした方が良いと思う
141 名前:デフォルトの名無しさん mailto:sage [2005/05/08(日) 09:10:46 ] >>130 ルータの管理者に聞け >>135 とってもバカなことしてそうな予感がするけど、ユーザが勝手に使っちゃいけないポート番号があるのは知ってるよね? >>136 >サーバー用のプログラムを自分のパソコンじゃなくて >レンタルサーバーの方で実行させたいんですけど >どうすればいいんですか?そういうのはCGI使わないとできないんでしょうか? ネットワークの知識が無いのは分かったけど、システム開発とかプログラミングの知識も無いみたいだね。 レンタルサーバであれ、自分でインターネット上にサーバ立てるのであれ、チャットのサーバのソフトを作ればいいだけ。 別にそれがjavaでもCでもperlでも言語は何でもいい訳です。 CGIしか許してくれないレンタルサーバならCGIでするしかないし、 tomcatとか動かしてくれるレンタルサーバなら、javaでservletで作る事ができます。 もちろん、自作のCGIすら使わせてくれないレンタルサーバなら、自作のプログラムを動かす事自体ができません。 それだけの話。 >>139 それなりに社内LANを張り巡らせている企業でないのであれば、プライベートアドレスはあばしてもさして影響ない。 あばさないほうがいいと思うけど。
142 名前:98 [2005/05/08(日) 11:31:36 ] >>140 >>141 両方ともご丁寧なレスどうもありがとうございました とても参考になりました。 もっと勉強してきます!
143 名前:98 [2005/05/09(月) 01:16:21 ] もう一度質問よろしいでしょうか?しつこくてすいません。 >>140 >どうしても Java でやりたいなら Applet かな 自分ははじめからappletの事を言ってたんですが チャットサーバーのプログラムをアプレットで実現するには どうしたらいいんでしょうか? サーバー側のプログラムをアプレットにしてサーバーに 保存しておくだけで出来るんでしょうか?
144 名前:デフォルトの名無しさん mailto:sage [2005/05/09(月) 01:47:31 ] アプレットはサーバになれないと思うんだが・・・・・・
145 名前:98 [2005/05/09(月) 02:40:31 ] >>144 ああそうなんですか。 やってみたんですがどおりで出来なかったわけだ・・・ うーん。となるとサーバープログラムをサーバー側で実行する方法が まったく見当つかなくなってしまった・・・。 自分の使ってるサーバーは↓なんですが isweb.www.infoseek.co.jp/ これは一応チャットが使えるみたいなんで出来ると思ったんですが・・・
146 名前:デフォルトの名無しさん mailto:sage [2005/05/09(月) 05:43:03 ] >>145 Javaが使えるとは書いてない気がするんだが・・・
147 名前:デフォルトの名無しさん [2005/05/09(月) 05:55:18 ] >>146 javaが使えるサーバーじゃないと javaつかえないんでしたね^^; javaアプレットが使えるから勘違いしてました・・・ どうもありがとうございました
148 名前:デフォルトの名無しさん [2005/05/09(月) 06:25:26 ] pl070.nas931.nara.nttpc.ne.jp/ おkwwwうはっwwwうぇwwwwwwwww wwwwwwwwwwww おkwww wっうぇwwwwwwwwwwwww おkwwwっうぇwwwwwwwwwwww
149 名前:デフォルトの名無しさん mailto:sage [2005/05/09(月) 09:44:27 ] クライアントをappletにして、サーバはCで書いたらええやん
150 名前:デフォルトの名無しさん [2005/05/21(土) 14:50:50 ] >>149 同じ意見だ でも、サーバはPerlしか使えないと思う 最初だけサーバに接続し、自分が接続したことをサーバのファイルかデータベースなんかに書いておく で、他に接続している人が書いてあったらAppletから直接そいつのアプレットに接続すれば サーバにほとんど負荷かけず、とりあえず1vs1のチャットは出来そう。 署名つけないといけないけど、ここまで完成したら方法は教える 待っている
151 名前:デフォルトの名無しさん [2005/06/06(月) 11:53:33 ] 俺もJavaネットワークプログラミングっていう本読んで勉強して 今では普通にチャット作れるようになったよー。 あれのサンプル動かすにはサーバでJavaが使えないとだめなんだよねー。 先にそれ書いとけよって話だけどねー。 そのせいで98みたいにはまった人多そうだ。 最近は専用サーバも安くなってるからお金に余裕があれば 専用サーバ借りた方がいいと思うよ。 知り合いに専用サーバ借りてる人がいれば貸してもらってもOKかな。 サンプルさえ動けばあとはそれをいじってればわかるようになると思うよ。
152 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 13:52:38 ] ??
153 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 14:05:24 ] 煽ってるわけじゃなくて純粋に疑問なんだけど、 タイトルが「Javaネットワークプログラミング」の本なのに、 先に「サーバでJavaが使える必要があります」って書いとけよと思ったのはなぜ? Javaが動かないサーバでも、この本は役に立つと思ったの? それとも「Javaが動かないサーバなんてない」って思ったのかしら。 鯖貸しの立場から、お客さんのこういう意識問題にはすごく興味があります。 また、最近なら常時接続が当たり前なので、自宅サーバってのも選択肢の一つですよ。 固定IPでなくてもDDNSって方法もありますから。
154 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 14:33:43 ] 「Javaが動かないサーバ」って表現自体に抵抗があるな。
155 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 15:06:37 ] Javaの実行を認めていないサーバーってのが正確だよな
156 名前:デフォルトの名無しさん [2005/06/06(月) 23:15:58 ] >>153 んー、CGIと同じようなものだと思ってたからかな? 専用サーバとか自宅サーバとかは一般人の関わるものじゃないという 思い込みがあったかも。サーバ≒共用サーバみたいな。 言われてみると「書いとけよ」っていうのは初心者のわがままかもしれないね。
157 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 09:41:15 ] PerlやPHPだって鯖で実行が認められてなければ使えないけどね。
158 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 15:47:42 ] そりゃそうだ
159 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 18:18:34 ] 鯖がC#で書かれてて、クライアントがJavaなのかも。
160 名前:デフォルトの名無しさん mailto:sage [2005/07/20(水) 15:38:44 ] javaでglidのシステム作ってるんだけど、 クライアントの自動配布をしたいんだ。 クライアントシステムの自動配布どんな感じに作ったらいいと思う? 最終的にクライアントの処理が終わったらクライアントを自分で自分を消去する感じにしたいんだぁ。
161 名前:デフォルトの名無しさん [2005/07/20(水) 16:13:22 ] あげぽこ
162 名前:デフォルトの名無しさん [2005/08/01(月) 19:25:02 ] スケジューラのスタンドアロンプログラムを作ろうと思っています。 言語はJavaかC#。 で、とりあえずスケジュールのマスタファイル(XMLか何か)を、インターネット上のどこかに置いておいて、 一方で自分のマシンにスケジューラのクライアントを置いて、クライアントを起動するとネット上からマスタファイル を引っ張ってきて、そのファイルに記述されているとおりにクライアントアプリにカレンダー形式で予定などを表示する。 また、予定を追加するときはクライアントに表示されているカレンダー上で「予定を追加」などを選択し、予定を記入すると 記入した内容と日付が、ネット上のマスタファイルに書き込まれる。 このようにしておけば、家と会社の両方のマシンにクライアントアプリを入れておけば予定を共有できるし、Iアプリでも 作れば携帯からもおなじ予定を参照できる。 しかしここで問題があって、マスタファイルをどこに置くかという問題。ダウンロード&アップロードの機能があれば いいのだが、FTPは無理。なぜなら会社はFTPポート遮断されてるから。じゃあ、Yahooとかのブリーフケースはどうか? でもログインが必要。YahooのログインのHTMLを見てみたけど、なんかいろいろめんどくさそうなことしてる。 あ、あと予定の時刻が近づいたら30分前くらいにアラームがなってほしいので、クライアントアプリにした。 常駐ということで。だからWebアプリじゃむり。 つーわけで、どこかいいスペースないかな?
163 名前:デフォルトの名無しさん mailto:sage [2005/08/01(月) 19:44:09 ] >>162 CGIでアップロードできる物を作れば良いんじゃない?
164 名前:デフォルトの名無しさん [2005/08/01(月) 21:55:22 ] >YahooのログインのHTMLを見てみたけど、なんかいろいろめんどくさそうなことしてる。 所詮HTTPプロトコルでしょ そのくらい書けない様じゃダメですよ 自作で無理ならJakartaの奴でも使ってみれば?
165 名前:デフォルトの名無しさん [2005/08/02(火) 00:40:39 ] Shikasi ARE dana. Java Network Programing de, NIO no wadaiga sukunai noha ikaganamonoka. NIO wo tukauto, suke-rable na Server ga dekiru. jdk1.4 ikou de NIO wo mushi suru noha damedayo. oreha, NIO wo 1 date de rikaisite Server no Core na bubun wo kakiageta. Non-blocking mode iidesuyo. Maluti Thread nannte yatte rannai.
166 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 00:49:37 ] >>165 後学のためにNIO使ったServerのsourceのUP希望
167 名前:デフォルトの名無しさん [2005/08/02(火) 00:51:02 ] >>162 データベースじゃダメなの?XMLに拘る必要があるの? スケジュールなんて簡単にRDBで表現できるし、 それに貴方が1から設計・実装するより遥かに良い結果をもたらす。 一緒に仕事したくないタイプですね。 自己満足だと迅速に要件満たせませんし、満足してもらえない。
168 名前:165 [2005/08/02(火) 00:56:56 ] 断片でよければ。 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Iterator; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.Selector; import java.nio.channels.SelectionKey; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.nio.channels.spi.SelectorProvider;
169 名前:165 [2005/08/02(火) 00:59:24 ] ヒントは与えた。 後は、自分で解決してください。 ソース公開はちょっとマズイ。 もう既にCopy Rightなので。
170 名前:デフォルトの名無しさん [2005/08/02(火) 03:19:04 ] 自分のCopy Rightなら、公開する権利はあると思うけど?
171 名前:デフォルトの名無しさん [2005/08/02(火) 11:02:23 ] 自分はjavaを始めようとしているものです。 java2sdk1.3.1をインストールして、まずBaseframeを作りたいのですが MS-DOSプロンプト入力で C:\WINDOWS>cd c:\java C:\java>java Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.4', but '1.3' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment. のようなエラーが出てしまいます。 どのような作業をしたらBaseframeを作ることができますか?
172 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 13:13:09 ] java.nio.channels読んでるだけで使えるだろ。 要するにノンブロッキングモードが使えるようになったって事だ。 スレッド起こす手間がない分、ソースがすっきりするけど デバッグ時にはけっこう混乱する。 Windowsでソケット使ったことあるやつならすぐかけるだろう。
173 名前:デフォルトの名無しさん [2005/08/02(火) 13:56:19 ] まだコンピュータについての知識が少ないので あまりわかりません。 java.nio.channelsってゆうのは、どこで見れますか? Windowsのソケットも使ったことないのでよろしくおねがいします。
174 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 15:12:02 ] とりあえずAPIよんどけってことです。 java.sun.com/j2se/1.4/ja/docs/ja/api/index.html ここの左上のフレームでjava.nio.channelsクリックしたら読める。 で、Socketに関してだから java.sun.com/j2se/1.4/ja/docs/ja/api/java/nio/channels/SocketChannel.html Socketクラスがわかっているなら、APIに書いてあることもわかると思う。 わからなければとりあえずSocketで組みなさい。 いろいろ出てきたクラス名でググるだけでも十分勉強になると思うが。
175 名前:デフォルトの名無しさん [2005/08/02(火) 22:42:07 ] 162です。 >163 ありがとうございます。CGIでいいんですね。 いままでJava Servletばっかりやってたので、webアプリ=Servletみたいな思い込みがありました。 CGIだったら無料で使えるところがたくさんありました。 >167 とりあえず、サーバー自分でたてるとお金かかりますしねー。 無料レンタルサーバーでDB使えるところってあるんだろうか? DB+Javaが一番慣れてるんで楽なんですけどね。 あ、ちなみに自分で一人で使うプログラムを暇つぶしに作ろうという程度です。 仕事ではないです(汗)
176 名前:デフォルトの名無しさん mailto:sage [2005/08/02(火) 23:22:37 ] 基本的な質問ですいません。 WEBページに複数のアプレットを貼り付けた状態で、 アプレット間で情報をやり取りさせたいのですが、どんな 方法を使えば実現可能でしょうか。
177 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 00:00:26 ] >>176 getAppletContext().getApplet(); 詳しくはググれ アプレット間通信でググるとかなり三項になると思うが。
178 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 00:30:44 ] >>177 ありがとうございます。ちなみにこれって異なるサーバ上に 配置されたアプレット間ではムリですよね。 今からやってみますが。
179 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 14:01:52 ] HttpsURLConnectionを使用してWebサーバにリクエストを投げるプログラムを作っています。 サーバから無効なクライアント証明が返ってくると、IEではダイアログが表示されて そのまま表示できたりしますが、作成しているプログラムではgetResponseCode()のタイミングで SSLHandshakeExceptionがthrowされ続行できません。 無効なクライアント証明を無視し、Exceptionを起こさずに処理を続ける方法をご存じないですか。
180 名前:デフォルトの名無しさん mailto:sage [2005/08/03(水) 18:11:30 ] Javaは邪魔だなあ
181 名前:デフォルトの名無しさん mailto:sage [2005/08/04(木) 19:16:34 ] 〃∩ ∧_∧ ⊂⌒( ・ω・) はいはいわろすわろす `ヽ_っ⌒/⌒c ⌒ ⌒
182 名前:デフォルトの名無しさん mailto:sage [2005/09/09(金) 12:56:39 ] >>179 サーバがクライアント証明を必要としているのです。setNeedClientAuth(true) クライアント側じゃどうしようもないです。 サーバがクライアントモードを許容するようならやってみてください。
183 名前:デフォルトの名無しさん [2005/10/02(日) 17:46:32 ] JavaでDNSサーバーを記述する方法を解説したページってありますか?
184 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 17:53:19 ] >>165 Select不安定じゃない?
185 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 18:24:20 ] >>183 サーバとDNSの仕組みは関係ない 単にacceptするサーバの処理内容にDNSのサービスをするようにすればいい
186 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 18:36:35 ] >>185 DNSってUDPじゃなかったか?
187 名前:デフォルトの名無しさん mailto:sage [2005/10/02(日) 18:40:08 ] だからなんでしょう UDPだろうとTCPだろうと サーバの仕組みは変わんないけど・・・
188 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 01:38:10 ] >>187 UDPでAcceptってUNIXドメインソケットですか?
189 名前:デフォルトの名無しさん [2005/10/04(火) 01:56:16 ] >>187 横やり済まんけど変えなあかんよ。 不達監視してリトライとか受信データグラムの並び替えとかTCPでは勝手にやってくれてることを 確実にやらんといかんので。 ストリーム覗いてるだけでいいTCPって偉大だ。。。
190 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 09:32:07 ] >>188 それUDPちがうやん…
191 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 16:47:16 ] URLオブジェクトを使ったプログラム(以下ソース) Iterator iter = List_URL.iterator(); //List_URLはURLオブジェクトが入ったVector while(iter.hasNext()) { URL url = (URL)List_URL.next(); URLConnection urlConnection = url.openConnection; urlConnection.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"JISAutoDetect")); //略 while文の一週目は問題なくbrから読み込めるのですが 2週目になると InputStreamReaderの生成の時点でI/O Exceptionエラーが出ます。 上のソースになんか問題とかありますか? urlConnection.connect();でエラーが出てなければ接続やURLオブジェクトに問題があるわけではないんですよね?
192 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 17:24:35 ] >>191 > InputStreamReaderの生成の時点でI/O Exceptionエラーが出ます。 urlConnection.getInputStream()じゃないの?
193 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 17:45:11 ] >192 そうです、細かく分けるとそこでエラーが出ます すみません、間違えてました;
194 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 17:51:37 ] 特定のURLだけだろ? urlConnection.setRequestProperty()で必要なリクエストヘッダ付けろや 何が必要かはURLによって違うから答えられん。
195 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 18:15:33 ] >194 いえ、初回以降全てのURLでエラーが発生します
196 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 18:39:36 ] じゃあ、 java.sun.com/j2se/1.5.0/docs/guide/net/http-keepalive.html だな。接続の再利用に失敗している。 java -Dhttp.keepAlive=false してみてくれ。 Connection: closeをsetRequestProperty()してもいいけどな。 他に説明してないことはないよな?
197 名前:デフォルトの名無しさん mailto:sage [2005/10/04(火) 18:55:58 ] >196 とりあえずやってみます レスありがとうございました
198 名前:デフォルトの名無しさん [2005/10/08(土) 19:43:21 ] みんなJavaで何をプログラミングしたいの? サーバーとかクライアントとか自分で作って遊んでるんですか?
199 名前:デフォルトの名無しさん [2005/10/09(日) 11:13:34 ] javascriptで外部テキスト(例えば○○○.txt) を読み込み、内部の一行一行を配列データで保持したり、 それをHTML内のTABLE内TDに割り振って 表示させたりすることは可能でしょうか? ("Javascript"で板を検索したのですが適当な板が見つかりませんでした。 ここでこんな質問をするな!! というのであれば、どなたか 適当な板への誘導をお願いしますm(__)m)
200 名前:199 mailto:sage [2005/10/09(日) 11:19:41 ] Web製作板で探すべきでした。 あちらに質問板を見つけたので移動します。 板汚し失礼しました。m(__)m
201 名前:デフォルトの名無しさん [2005/11/06(日) 16:07:32 ] Java以前にネットワークの知識がおまいらには必要だ。 ちなみにネットワーク機能の実装はCなので、Cで書かれてるのをJavaに移植するぐらいの覚悟が無いとJavaでネットワークプログラミングは勧めない。 localhostでサーバプロセス立てられない香具師とか論外。
202 名前:デフォルトの名無しさん [2005/11/06(日) 16:18:57 ] age
203 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 12:41:41 ] >>201 さすがにそこまで脅すほどのことじゃないと思うよ。 よっぽどレアなプロトコル実装するんでもない限り。 localhostでサーバプロセスなんて、ぶっちゃけて言うと socket.accept() するだけだし。
204 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 00:05:37 ] 天狗の隠れ里はここですか?
205 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 00:32:48 ] Pop3サーバに接続してメールのUIDLを取得する方法を教えてください。
206 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 08:30:59 ] >>205 java.sun.com/products/javamail/pop3.html www.faqs.org/rfcs/rfc1939.html
207 名前:鯖男 [2005/11/16(水) 18:46:52 ] どなたか教えてください。 マルチクライアント非対応サーバになんとしても接続したい場合 InetSocketAddress socketAddress = new InetSocketAddress("localhost", 1234); Socket socket = new Socket(); while ((socket.isConnected()) == false) { try { socket.connect(socketAddress,0); } catch (IOException e) { System.out.println("未接続"); } } のようなコードではダメなのはなぜでしょうか?
208 名前:デフォルトの名無しさん mailto:sage [2005/11/16(水) 21:36:08 ] epollやkqueueを上手くラップして共通化したものってありますか?
209 名前:デフォルトの名無しさん [2005/12/02(金) 21:59:07 ] P2Pを駆使してメッセンジャーとか上手く作れないかな? 暗号化されたキーを送信して複合できた人が繋ぎたい相手みたいな感じで。
210 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 07:39:40 ] 現在大学3年生ですが、ネットワークプログラミングという枠組みだけで何か各自でテーマを考えろといわれました。 色々探しているのですが、なかなかこれぞとうテーマが見つかりません。 http dns dhcp ftpサーバーをプログラミングしてみたりするのも面白いと思うのですが、、 ただプログラミングするだけではありきたりだし、なぜれをしたいのかと問われれば微妙な感じです。 何か良いテーマや、ヒントなど下さればうれしいです。よろしくお願いします。
211 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 07:47:50 ] ネット枠対戦のゲームとか
212 名前:デフォルトの名無しさん [2005/12/04(日) 12:22:42 ] Javaはなんでもできるから逆に決まりにくいだろうな。 サーバー作るとかがやっぱり定番になりそう、、。 漏れは卒業作成でdhcpサーバー作ったなぁ、、
213 名前:デフォルトの名無しさん [2005/12/04(日) 12:26:04 ] echoサーバ作ってどぎもを抜かせて見せる
214 名前:伝説新人タクシ mailto:sage [2005/12/04(日) 12:49:56 ] >>207 みんなレスしてないのはそういうことか。 そのsocketがアドレスを知らないから。
215 名前:伝説新人タクシ mailto:sage [2005/12/04(日) 12:55:17 ] >>207 スマン。
216 名前:伝説新人タクシ mailto:sage [2005/12/04(日) 13:13:59 ] 文字折っててテンパリすぎだオレ。 >>207 ループ回す前に接続してるのかをまず表示。
217 名前:デフォルトの名無しさん [2005/12/04(日) 13:19:50 ] エコーサーバーワロスwww どうしてもこれがやりたいってものがなかったら、 やっぱりサーバープログラミングが無難でいいと思う。
218 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 13:27:13 ] echoサーバつくるんならさ 関西弁に直してくれるとかそういうのがいいんでない? ネットワーク部分以外で頭使いそうだけど
219 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 16:41:20 ] スレが汚れたね
220 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:10:02 ] メッセンジャー作ってくれ。
221 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:11:49 ] IPMsgのJava版って無かった? 鯖がいるタイプなら作っても運用できないじゃん
222 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:29:10 ] むしろ2chブラウザ作れ ネットワーク部分は少ないが
223 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:31:05 ] 2chブラウザって誰でも作れるの? datを公開するブラウザは2chが制限してるって聞いたけど噂だけ?
224 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:43:31 ] >>222 既にあるじゃん
225 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:46:42 ] >>223 pc8.2ch.net/test/read.cgi/tech/1057329161/
226 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 20:54:29 ] >>224 dhcpサーバもechoサーバも既にありますが。
227 名前:デフォルトの名無しさん [2005/12/05(月) 04:38:24 ] 学部の卒業作成で全く0から何かを作るなんて不可能だろ。 既にあるものを作るのがあたりまえ。何かしらオリジナルな要素があればよい。
228 名前:210 mailto:age [2005/12/05(月) 06:50:25 ] 皆さんご回答ありがとうございます。 がんばってみます、、
229 名前:デフォルトの名無しさん mailto:sage [2005/12/06(火) 23:26:02 ] ipv6に対応したネットワークプログラムを考えているのですが・・・ JAVAのIPV6の資料はなかなかないですね どなたかご教授ください
230 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 00:16:33 ] ここじゃあかんのか? java.sun.com/j2se/1.5.0/ja/docs/ja/guide/net/ipv6_guide/
231 名前:デフォルトの名無しさん [2005/12/08(木) 11:06:52 ] >227 オリジナルな要素って君なら例えばどうする? サーバープログラミングなんてオリジナルの要素を加えるなんてほとんど不可能だろ。 dhcp作るにしてもdns作るにしても、市販のものやBINDを超えるものが作れるの?学生が。
232 名前:デフォルトの名無しさん mailto:sage [2005/12/08(木) 11:24:31 ] いや、、別に超える必要は全く無いわけだが、、
233 名前:デフォルトの名無しさん mailto:sage [2005/12/08(木) 11:39:14 ] >>231 サーバープログラミングと言って良いかどうかは判らんが SoftEtherは学生が作った
234 名前:デフォルトの名無しさん [2005/12/08(木) 13:38:10 ] この板で質問しているよな学生にはまず無理だろw
235 名前:デフォルトの名無しさん mailto:sage [2005/12/08(木) 17:47:26 ] SoftEther 作った香具師は2chで質問しまくったはずだが
236 名前:デフォルトの名無しさん mailto:sage [2005/12/08(木) 22:32:40 ] ひげぽんよろしく、住人のレベルを超えてしまったんだろうな。<SoftEthrerの作者
237 名前:デフォルトの名無しさん [2006/01/31(火) 11:42:13 ] Javaで書かれたプロクシサーバーソフトってありますか?
238 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 12:18:09 ] www.mortbay.com/software/Jetty.html www.cs.technion.ac.il/Labs/Lccn/projects/spring97/project9/
239 名前:デフォルトの名無しさん [2006/02/01(水) 01:43:42 ] 初心者の質問じゃないと思うけど、WININETでサーバーサイドのJAVAを実行できますか? その場合、クラス名とかfunction名とかパラメータの渡し方はどうすればいいんでしょうか?
240 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 02:45:55 ] 釣られないぞー
241 名前:デフォルトの名無しさん [2006/03/21(火) 16:30:50 ] マルチすみません。 ash.jp/java/java_http.htm このサイトのURLConnectionのソースをaioeclipse ver2.0.0(JDKは1.5.0)で 流すとエラーが出るんですけどどうすればいいですか? eclipseの設定かしら java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.net.NetworkClient.doConnect(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.<init>(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at HttpUrl.main(HttpUrl.java:32)
242 名前:デフォルトの名無しさん mailto:sage [2006/03/22(水) 18:51:31 ] 気分がいいからこたえてやる。 そのプログラムは、"localhost"、つまり実行してるPCの80番ポートに TCPで接続しようとしている。80番ポートは通常HTTPのポート。 なので、実行してるPCの80番ポートで待っているプログラムがない、 つまり、HTTPサーバが動いてないと、接続は拒否される。 それが、 > java.net.ConnectException: Connection refused: connect ということ。 ANHTTPDでも動かしとけば、connectは成功するだろ。 ネットワークプログラムは常に通信相手があって成り立つってことを忘れるな。
243 名前:デフォルトの名無しさん [2006/03/22(水) 20:28:55 ] 自レスです String proxyHost = ""; int proxyPort = 8080; を消して if (proxyHost == null) { urlObj = new URL(url); } else { urlObj = new URL("http", proxyHost, proxyPort, url); } ここを urlObj = new URL(url); だけにしたらソースもってこれました。 urlObj = new URL("http", proxyHost, proxyPort, url); が悪さしてたってことですか?
244 名前:デフォルトの名無しさん mailto:sage [2006/03/22(水) 20:32:20 ] 連投すみません String proxyHost = ""; で if(proxyHost == null)がfalseに行ってることは 上記はnullではないのですか? nullの気がするんですが・・・
245 名前:デフォルトの名無しさん mailto:sage [2006/03/22(水) 22:26:33 ] つjava初心者スレ
246 名前:デフォルトの名無しさん [2006/03/25(土) 18:04:07 ] 基本的な質問ですが、 あるノードからあるノードにデータが動くためには、 必ずsokcetクラスを使う必要があるのでしょうか?
247 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 10:35:24 ] >>41 Stringはサブクラスを作れないはずだが
248 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 17:19:38 ] dhcpはつまんねーな。 IM-IRCブリッジとかどう? メモリリークしまくりで楽しそうだよ(w
249 名前:デフォルトの名無しさん [2006/03/27(月) 17:47:32 ] >>246 ソケットがないと通信できないんだから当たり前
250 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 19:54:08 ] NFSとか、1台のSCSI HDDを共有してるとかはないですか、そうですか。
251 名前:デフォルトの名無しさん mailto:sage [2006/04/10(月) 17:43:05 ] 誰かcyberlink for java使って UPnP対応ルータのポートを開けて AddMappingするだけの簡単な プログラムを組んでくれませんかねぇ。
252 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 11:04:58 ] ヒント:宿題スレ
253 名前:デフォルトの名無しさん mailto:sage [2006/05/24(水) 04:41:17 ] UDPを使ったネットワークプログラミングについて質問です。 UDPを使ってクライアント/サーバーを作り、複数のクライアントとやり取りできるようにサーバーにThreadを継承させました。 2人以降のクライアントがパケットを送ってきたらその度新しくスレッドを作ろうと考えているんですが、どうやってパケットが届いたときに新しくスレッドを作るんでしょうか? どうしても2人目が送ったパケットがそのままオリジナルのサーバースレッドに受信されてしまいエラーが出るのですが・・。
254 名前:253 mailto:sage [2006/05/24(水) 04:59:56 ] 少し説明不足でした。 サーバークラスの中にコンストラクタ、run()、main()と作り、main()に今のところ、 int well_known_port = SERVERPORT; // デフォルトポートナンバー try { testServer server = new testServer(well_known_port); server.start(); } catch(IOException e) { System.err.println(e); } としてあります。 run()の中でパケットを作ったり受信したりするプロセスを全て入れてあります。 上のままではスレッドが1つしか作れてないので、クライアントが増えるたびに新しいスレッドを作りたいと思っています。 ヒントでもいいので教えていただければ嬉しいです。
255 名前:253 mailto:sage [2006/05/24(水) 22:33:12 ] 解決しましたm(_ _)m
256 名前:デフォルトの名無しさん [2006/05/30(火) 04:37:12 ] 帯域制御機能をもったjavaのプロキシソフトサーバーソフトってありますか?
257 名前:デフォルトの名無しさん mailto:sage [2006/05/30(火) 08:27:40 ] そもそもjavaだと遅いから全てが帯域制限されて意味が無い。 delegateとかsquidをjavaに移植してくれ。 それって全く関係無い香具師がudp送って来ても鯖プロセスが増えて。。。 udpパケットの送信元偽造されて送られてくることが無い様に祈れ。
258 名前:デフォルトの名無しさん [2006/05/30(火) 11:18:50 ] javaで書かれた普通のプロクシサーバーソフトを、sleepとか使ってちょいといじれば良いだけ。 javaとネットワークプログラミングを勉強してから一月くらいでそのくらいのことはできる。
259 名前:デフォルトの名無しさん [2006/06/10(土) 05:43:53 ] すいません。 String ip="192.168.0.2"; int port=5555; Socket socket = new Socket(ip,port); 以上のような接続方法はただしいでしょうか? ホスト名ではなくIPアドレスで指定したいのですが、 どのようにすればよいかご教授ください。 よろしくお願いします。
260 名前:デフォルトの名無しさん [2006/06/10(土) 17:44:38 ] ブラウザを作っているのですが、 POSTでエンティティボディのデータを送るときの 文字コードって決まっているのでしょうか? たとえば、サーバーがIIS+JSPコンテナで、 クライアントで入力したものをサーバーに送る場合、 どの文字コードでサーバーに送ればいいのでしょうか? HTMLに指定されている文字コード?
261 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 21:42:37 ] >>259 ただしい。 ただし、IPv6対応に問題が出る(Windows Vista以後はIPv6フル対応)が、 アンタの責任だから、まあ知ったこっちゃねえし。
262 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 10:12:57 ] こんなんあった jump.sagasu.in/goto/butikire-movie/
263 名前:デフォルトの名無しさん mailto:sage [2006/06/13(火) 11:05:27 ] socketを使って、Streaming通信中、 Broken pipe がおこってしまう場合があります 連続的なデータを送っているのですが クライアントが切断処理をしていないのに Broken pipe が怒ってしまうのですが、送っちゃいけないデータなどは送っていません なんらかの心当たりがある人いらっしゃいますでしょうか?
264 名前:デフォルトの名無しさん [2006/06/16(金) 01:42:38 ] >>251 www.cybergarage.org/blog/archive/2006_04_01_skonnoblog.html#114503507548323193
265 名前:デフォルトの名無しさん mailto:sage [2006/06/16(金) 03:40:37 ] 間のファイヤーウォールやNATに切られてもリトライするような処理ぐらい入れろ。 POSTするときの仕様ぐらい、HTTPの仕様を読もうぜ。 つーか仕様も作らないで行き当たりばったりで変な実装するな。
266 名前:デフォルトの名無しさん [2006/06/17(土) 12:36:13 ] Javaでtracerout出来るようになったの?
267 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 11:46:43 ] >>266 raw socket位投げられるだろう。
268 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 17:08:41 ] へ?どうやって?
269 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 17:36:15 ] >>268 うぜぇしね
270 名前:デフォルトの名無しさん mailto:sage [2006/06/19(月) 11:30:13 ] Process p = Runtime.getRuntime().exec(new String[] {"traceroute", host});
271 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 22:23:04 ] 【教えて!】 が良い味出してる
272 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 00:11:30 ] サーバー側でインプットストリームを常に監視して、 ストリームにデータが入ったらある処理をはじめるようにしたいのですが、 うまいやり方ありますか? 今はサーバー側のスレッドでしたのようにまってます。 while(in.available < 1) { Thread.sleep(10); } 〜ある処理〜
273 名前:デフォルトの名無しさん mailto:sage [2006/06/27(火) 01:54:51 ] new I/O
274 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 18:10:04 ] >>272 BlockingI/O(通常の)で、インプットストリーム1つに対してスレッドを 1つ貼り付ける。 あるいは1つのスレッドで複数のインプットストリームを処理するなら、 >>237 の言うとおり、new I/Oを使う。
275 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 12:14:40 ] >>237 ではなく >>273 です
276 名前:デフォルトの名無しさん [2006/07/04(火) 21:05:22 ] 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) i−want−to−study−java@hotmail.co.jp (アドレスは全角で書いてあるので半角に直してください) よろしくおねがいします
277 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 21:22:28 ] 初心者なんですがこれから、ネットワーク勉強したい思ってます。 ftpクライアント、httpクライアント、echoサーバなどのperl,cの 資料はネットに豊富にあったので、大体わかってきました。 ただ、根本的な仕組みがわかってないので、これから どうしようか考えてます。 まずは、peer to peerで、チャットやファイル交換がしたいと思います。 パソコン一台の環境なんですが勉強できますか? パソコン一台で、2台に見せかけて通信 とかできるのかと思いまして。 パソコン2台ないとだめなんでしょうか。 本とかサイト紹介していただけるとがんばっていけそうです。 よろしくお願いします。 スレ違いでしたら、どこか飛ばしてくださいませ。
278 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 23:38:11 ] >>277 localhostに対してコネクション張りゃいいですよ。
279 名前:デフォルトの名無しさん mailto:sage [2006/07/06(木) 01:36:14 ] >>278 知識不足で、具体的な方法がまだわからないですが、 できるということがわかればあとは、本などで調べたいと思います。 ありがとうございました。
280 名前:276 [2006/07/17(月) 21:29:54 ] 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
281 名前:デフォルトの名無しさん [2006/07/21(金) 21:55:33 ] 大阪から行きます。帝国ホテルスイーツを取ってくださるなら考える余地ありです
282 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 22:22:09 ] 仕様: クライアントはテレビの録画予約をするGUIアプリケーション。 クライアントから番組のチャンネル、放送開始時刻、終了時刻を送信。 サーバは予約情報をDBにストック。 サーバはDBを監視していて、予約開始時刻になったら録画APIを起動させる。 クライアントは現在の予約情報などをサーバに問い合わせて表示もできる。 さて、サーバ側はどんな実装にする? クライアント・サーバ間の通信はソケット?それともHttp?できれFirewall越えしやすい方がいい。
283 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 22:43:51 ] >>282 がクライアントもサーバも書くの?
284 名前:282 mailto:sage [2006/07/21(金) 22:47:16 ] >>283 サーバだけでいいです。
285 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 10:44:52 ] >>282 ICMP
286 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 11:32:23 ] >>282 MythTVのJava版クライアント作れよ。 www.mythtv.org/
287 名前:デフォルトの名無しさん [2006/07/23(日) 22:16:18 ] >>286 つまりクライアントとのセッションを管理するフロントエンドシステムと 時刻を監視してイベントを処理するバックグランドシステムの 2アプリケーション/サーバの組み合わせにするってことですね。 2つのアプリケーション間は特に通信はいらないかな。あえていうならDB経由で情報をやりとりするということか。。。
288 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 22:17:40 ] >あえていうならDB経由で情報をやりとりするということか。。。 泣きたくなるくらい広いスコープのグローバル変数が誕生するわけですね。
289 名前:デフォルトの名無しさん [2006/07/23(日) 22:37:37 ] >>288 もっといいやり方があるというのなら対案をだせよ。 民主党のダメ政治家かおまえは。
290 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 22:38:44 ] >>289 めんどいなぁ、んじゃSOAP。Axisでも使ってさ。 ほれ、コレで満足か?
291 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 22:47:12 ] 何を揉めてるのか知らんがSOAPで組めばええやん Firewall越えを要件に入れてるなら
292 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:25:01 ] >>291 AJAXでもいいじゃん。
293 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:31:09 ] プログラマの俺様ツールにブラウザアプリを採用するのか?w
294 名前:デフォルトの名無しさん [2006/07/24(月) 00:33:14 ] >>290-292 もめてるのはフロントエンド⇔バックエンド間をデータベースを経由して情報をやり取りする部分。 ここはFirewallをこえる必要ないからhttpとは関係なくなる。 (クライアント⇔フロントエンドはAJAXでもFirewall越えるからOKなのはたしか。でも問題はここじゃない。)
295 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 00:38:03 ] >>294 なんなの?ageは俺らをバカにしようとかそう言う意味ですか?
296 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:06:34 ] >>294 Ajaxでいいなら「フロントエンド⇔バックエンド間」なんてものは存在せんだろ
297 名前:sage [2006/07/24(月) 01:07:25 ] Httpがいいんじゃない?実装が楽だから。
298 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:38:05 ] >>296 MythTVやPostgreSQLのようなアーキテクチャも勉強した方がいい。 Ajaxを取り入れるととうやればMythTVのfrontend-backgroundのあいだのやりとりを存在なくせるのか説明してくれ。
299 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:43:05 ] Tomcatひとつで出来るだろ
300 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:45:56 ] >>299 予約の録画開始はどうする?
301 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 01:49:03 ] どうもせんよ、監視してAPI呼び出すだけだろ web.xmlに監視クラス書いておしまい
302 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 10:42:58 ] まあ思いつかないぐらいなら実装は絶望的です。外注に出したら?
303 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 11:02:45 ] >>298 なんでMythTVにこだわるん?
304 名前:デフォルトの名無しさん mailto:sage [2006/07/24(月) 22:03:42 ] MythTVは二回しか出てきてないじゃん。
305 名前:デフォルトの名無しさん [2006/08/31(木) 13:24:54 ] javaでFTPクライアントソフトを作成したんですが、 認証まではうまくいくんですがPASVモードでの dataSocket = new Socket(serverIP.replace(',','.'),serverPort); でタイムアウトが発生し接続できません。 windowsでは問題なく実行できます。 環境は +−−−−−−+ +−−−−−−+ LINUX−−−−| | | | | ルータ- |−−−−−| モデム |−−−−−インターネット WIN−−−−−−| | | | +−−−−−−+ +−−−−−−+ ちなみにlinuxのFTPコマンドではファイル転送も問題なくできます。 原因がさっぱりわかりません。
306 名前:デフォルトの名無しさん mailto:sage [2006/08/31(木) 14:03:18 ] PASVなのに20番を使うからです
307 名前:デフォルトの名無しさん [2006/08/31(木) 15:18:25 ] >306 ポートは20でなく動的に接続しています。 305にも書いたけどwindowsではFTPに接続、転送できています。
308 名前:デフォルトの名無しさん mailto:sage [2006/09/01(金) 00:18:24 ] FTPの勉強からやり直したほうがいいよ。 FTPプロトコル手順を理解出来てない。
309 名前:デフォルトの名無しさん mailto:sage [2006/09/01(金) 13:25:12 ] >>305 の、1行のコード dataSocket = new Socket(serverIP.replace(',','.'),serverPort); だけでわかるわけないだろ。 PORTのバイトオーダー絡みじゃないかとエスパーレス。
310 名前:デフォルトの名無しさん mailto:sage [2006/09/02(土) 10:16:54 ] >>308 またお前か・・・。お前こそいい加減RFC読んでくれ。
311 名前:デフォルトの名無しさん mailto:sage [2006/09/05(火) 15:57:32 ] java.net.URLConnection con=url.openConnection(); InputStream input=con.getInputStream(); byte[] buffer=new byte[1000*1000]; int size=input.read(buffer); String data=new String(buffer, 0, size); url がwww.yahoo.co.jp/ のとき全部取り出せないで途中で切れて終わってしまいます。 Reader を使うと上手くできるので、解決策よりも どうして途中で尻切れなのかなのか教えてください。
312 名前:デフォルトの名無しさん mailto:sage [2006/09/05(火) 22:15:27 ] >>311 適当なとこまで読んだところで、readが制御返すから。 TCPの1セグメントか、タイムアウトか、バッファ最大のどれかだろ。 InputStream#readのJavaDocを熟読せよ。
313 名前:デフォルトの名無しさん mailto:sage [2006/09/05(火) 22:25:29 ] >>312 さっそく、ありがとうございます。 タイムアウトかなと思ってたんですが、 これってライブラリーのバグの範疇だと思うのですけど… Readerでは尻切れしないので。
314 名前:デフォルトの名無しさん mailto:sage [2006/09/05(火) 23:22:08 ] >>313 Readerって思いっきりバッファリングするやん。 readで要求サイズすべてがいっぺんに取得できると考える方が間違い。
315 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 00:06:38 ] 最近ではFTPのかわりにHTTPで100MBのファイルをダウンロードとか良くあるけど、このときってどうするの? URLConectじゃなくてSocketつかえって?
316 名前:デフォルトの名無しさん [2006/09/06(水) 04:03:21 ] Reader input=new InputStreamReader(con.getInputStream()); とやると、全部読み込めるようなので、>>314 の指摘のバッファリングとかこれと何らかの関係あるのでしょうか? java.io.InputStream か java.io.Reader かで挙動が違うのはなぜかというのだと思うのですが・・・・
317 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 15:07:37 ] >>316 InputStreamReaderがバッファリングするかどうかは知らんが、 InputStream#readの戻り値は、JavaDocの通り、 1以上: 読んだバイト数 0: 与えた読み込み先のbyte[]の空きが0 -1: ストリームの終わり だ。-1かIOExceptionまで読み続ければ良い。 >java.io.InputStream か java.io.Reader かで挙動が違う そもそも、*InputStreamはbyteを読むもので、*Readerはcharを読むものなんだが、この違いは理解してるのか?問題にならんのか?
318 名前:デフォルトの名無しさん [2006/09/06(水) 16:30:39 ] >>317 横から失礼しますが、どうもあなたが指摘しているところはズレているようで、少し傍観してみてはいかがですか? > だ。-1かIOExceptionまで読み続ければ良い。 それで、なにが原因なんでしょか?何を指摘したいのか、さっぱり分かりません。 > そもそも、*InputStreamはbyteを読むもので、*Readerはcharを読むものなんだが どうも偉そうに聞こえるますが、その違いで何か関係があるなら、そのあたりを指摘すれば良いでしょう。 ところで、byteかcharかの違いで何か問題があるんでしょうか?
319 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 17:37:11 ] (´Д`;) …
320 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 17:44:04 ] >>318 ハゲワラ
321 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 17:47:17 ] >>319-320 じゃ、仕事も終わりだし、そろそろ風俗に行こうや!
322 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 20:19:58 ] お、イイッすねえ。 聖コスプレ学園なんてどうっすか?
323 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 23:27:23 ] おまいらセフレか彼女ぐらい作れよ。 Javaなんか弄ってても子孫は残せないぞ。
324 名前:デフォルトの名無しさん mailto:sage [2006/09/06(水) 23:33:24 ] エロゲーほしい 誰か作ってー
325 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 07:10:56 ] >>317 APIを写したのはわかったけど、それで君は何を言いたいわけ?
326 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 07:25:47 ] >>325 プゲラ
327 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 07:51:22 ] >>312 >適当なとこまで読んだところで、readが制御返すから。 これには何か根拠でもあるの?
328 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 07:52:27 ] >>314 >Readerって思いっきりバッファリングするやん。 これには何か根拠があるの?
329 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 13:32:07 ] >>318 >それで、なにが原因なんでしょか?何を指摘したいのか、さっぱり分かりません。 何の原因を聞いているのか知らんが、 >>311 >url がwww.yahoo.co.jp/ >のとき全部取り出せないで途中で切れて終わってしまいます。 の原因だとしたら、 >byte[] buffer=new byte[1000*1000]; >int size=input.read(buffer); が、「1000*1000バイトか、ストリームの終わりまで読みこむ」という意味の命令ではないこと。 実際に何バイト読み込むかは実装・クラス・状況次第。 だから、readの返り値を見て、ストリームの終わりに達するか、例外が発生するまで 読み込め、と言ってるんだが。 >どうも偉そうに聞こえるますが、その違いで何か関係があるなら、そのあたりを指摘すれば良いでしょう。 尻切れになる/ならないは別にして、application/octet-stream なストリームを、 InputStreamReaderで読んだら、取り返しがつかんだろ。byte[]とchar[]は可逆変換ではない。 >ところで、byteかcharかの違いで何か問題があるんでしょうか? データ型としてのbyteとcharなら単に1バイトか2バイト幅かだけの違いだが、 Readerがcharで返すということは、Readerへの入力のbyteシーケンスを 指定されたencodingに従ってunicode (ucs2)に変換してるわけだ。 得られたchar[]なりStringを同じencodingでbyte[]に変換しても、 元のバイト列になる保証は無い。
330 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 18:18:39 ] >>329 >尻切れになる/ならないは別にして 勝手にそらしているようですけど、 ここでは尻切れが問題なんですけど? >application/octet-stream なストリームを、 InputStreamReaderで読んだら、取り返しがつかんだろ。 もしかして、ここで指摘している事は、 new InputStreamReader(input, encoding) であれば五体満足ということなんのしょうか? 文字コードは話題ではないですけど・・ >byte[]とchar[]は可逆変換ではない。 可逆変換でないから、だから、尻切れとどう関係があるんですか? >>ところで、byteかcharかの違いで何か問題があるんでしょうか? >データ型としてのbyteとcharなら単に1バイトか2バイト幅かだけの違いだが、 >元のバイト列になる保証は無い。 それが尻切れ(転送中断や想定外)と何か関係があるのか聞いているのですけど? 文字化けとか問題にしてないのですけど、 また勝手に解釈して関係ない知識自慢は見苦しい…
331 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 18:28:47 ] >>329 >「1000*1000バイトか、ストリームの終わりまで読みこむ」という意味の命令ではないこと。 クライアント側に失敗となる節が無いのに、 結果が途中で尻切れになる原因が問題なのです。 「クライアント側が、どうやって何バイト読み込むかや終わりまで読み込むか」などの 解決策を問題にしているわけではありません。 結果が途中で尻切れになる原因が問題なのですが 勝手に読み替えてませんか?
332 名前:デフォルトの名無しさん [2006/09/07(木) 19:25:52 ] いつまでも的確なレスが無くて、調べてみたんですけど、 これってまだ直ってないバグなんじゃないですか? bugs.sun.com/bugdatabase/view_bug.do?bug_id=4188105 bugs.sun.com/bugdatabase/view_bug.do?bug_id=4125538
333 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 19:48:05 ] じゃ、仕事も終わりだし、今日は風俗に行かないでこのスレ眺めてようや!
334 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 19:58:25 ] >>332 それ、既に closed fixed だし、 読み込みが途中から始まるってバグだから見当違いだと思うぞ。 尻切れになるのは低レベルAPI からの出力を極力そのまま返すという意味で 便利ではないかもしれないが、正しい実装であるとはいえる。 低レベルAPI が何故尻切れになるかは >>312 が既に予想してるとおり。 もう一つ言うと、InputStream は尻切れになってはいけないとは、 どこにも規定されていないので、 その意味でも URLConnection#getInputStream() が返す InputStream の実装は正しく、バグではない。
335 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 20:06:58 ] 正しい実装とか規定とかぬかしているけど、実際に確かめから発言してるのかな・・・
336 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 20:18:22 ] >>335 確かめる必要なんかないよ。それとも >>311 は嘘ついてるのか? java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/InputStream.html#read (byte[]) > b が null の場合は、NullPointerException がスローされます。 > b の長さが 0 の場合、バイトは読み込まれず、0 が返されます。 > そうでない場合は、1 バイト以上読み込み処理を行います。 > ストリームがファイルの終わりに達しているために読み込むバイトがない場合は、値 -1 が返されます。 > そうでない場合は、1 バイト以上読み込まれ、b に格納されます。 InputStream が規定してるのは「1バイト以上読み込む」であって EOF か b が満杯になるまで読み込む、とはどこにも書いてない。
337 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 20:27:17 ] available()があるってことが全てなのさ。
338 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 22:44:37 ] >確かめる必要なんかないよ。それとも >>311 は嘘ついてるのか? ほら、だから憶測で話してもね・・ さっきは、思い込みとかだったし。 >、とはどこにも書いてない。 何度もわざわざAPIを引用するのは構わないけど、 そのAPIから読み取って、原因は何かを>>311 は 指摘してほしいんじゃないか? >InputStream が規定してるのは「1バイト以上読み込む」であって EOF か b が満杯になるまで読み込む、とはどこにも書いてない。 「EOF か b が満杯になるまで読み込む」ことを話しているのではなくて、 read(byte[])ではなぜ尻切れなのかなんだけど? read(byte[])ではなぜ全部読み込めないのかじゃないよ。 ずいぶんと自尊心が強い人なんだね。 同じ事を繰り返していて、そろそろ醜いんだけどもう止めてくれる? byte[]とchar[]がどうとか言ってたけど、結局なにか関係あるのか?
339 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:25:35 ] べつにさ、煽られようが何だろうがべつにこっちは困らないんだよね。 レポートの締め切りに間に合わないのはあんたなんだし。
340 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 23:26:22 ] ↓ここで"勝利宣言"
341 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 00:01:53 ] はい、readのスニペット。 int cnt = 0; while(cnt >= READBYTES){ int tmpcnt = read(READBYTES); if(tmpcnt <= 0){ throw nullpo; } cnt += tmpcnt; }
342 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 00:39:03 ] 誰か一人だけが悔しいみたい プププ 今日は風俗行かなくても楽しめたな プププ
343 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 00:49:19 ] >>338 > read(byte[])ではなぜ尻切れなのかなんだけど? > read(byte[])ではなぜ全部読み込めないのかじゃないよ。 ……。何が違うのかを説明してくれ。
344 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 01:22:08 ] >>338 例えば、 上は、初めから読み込もうが途中から読み込もうが、 尻切れ(終わりが途中で切れる)に関係していない。 下は、必ず初めから読み込まれている必要があって、かつ、 予定していたところ(長さ)まで読み込んで全部読み込んだといえるが、 この全部(初めから終わりまで)読み込むかどうかは尻切れと関係ない。 たしか、途中で尻切れになる原因だったよね。 日本語の解釈の差だと思うけど・・ 今ちょっと忙しいからこれぐらい。 available()たしかに・・ フーゾク、俺も連れてってくれ・・
345 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 01:55:46 ] >>343 字数が違うんじゃね?
346 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 02:08:05 ] >>338 > read(byte[])ではなぜ尻切れなのかなんだけど? そーゆー仕様だから。以上。 で良いんじゃないかと思ってみたりする。
347 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 06:42:42 ] 風俗もいいが、エイズで身体が腐っちゃうのは勘弁だな。
348 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 07:38:38 ] ストリームのバイナリー転送で 途中で切れて終わったり 完了しなかったりしてるけど int in.read() で1バイトずつちまちまやらないと ダメなんじゃないのか?
349 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 09:28:26 ] InputStream in=con.getInputStream (); byte[] buf=new byte[1000*1000]; int size=0; for (int k=0; size<buf.length && (k=in.read())!=-1;) { buf[size++]=(byte)k; } これはチマチマですが、尻切れぜずにストリーム終わりまで読み込めます。解決策。 >>341 for (;;) { int sz=in.read(buf, size, buf.length); if (size>=buf.length || sz==0 || sz==-1) break; size+=sz; } でも、urlが "www.yahoo.co.jp/" などは例外が出ます。 Exception in thread "main" java.lang.IndexOutOfBoundsException at sun.net.www.http.ChunkedInputStream.read(Unknown Source) at java.io.FilterInputStream.read(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unkn own Source) at Test.main(Test.java:37) とすると、InputStreamは、int read()ですむのですが、 int read(byte[]), int read(byte[],int,int)は、(どうやって使うかと言うよりも)自分で使うときはどこが使いどころなんでしょうか?
350 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 09:52:26 ] >>329 はやさしいなあ
351 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 10:15:56 ] >>349 > for (int k=0; size<buf.length && (k=in.read())!=-1;) > buf[size++]=(byte)k; これ、尻切れにはならんかもしれんが、最初に 0が入らんか? > int sz=in.read(buf, size, buf.length); InputStream の仕様では、size が 0以外の条件で この行を実行する場合 IndexOutOfBoundsException投げないといけない事になってる。 in.read(buf, size, buf.length - size) とかしないと。 あと、size>=buf.length の条件でループ抜けるなら size += sz やった後の方が良いぞ。 ついでに言うと、sz == 0 も特に要らない。
352 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 10:18:48 ] > これ、尻切れにはならんかもしれんが、最初に 0が入らんか? あ、入らないね。失敬失敬。
353 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 10:45:51 ] >>350 確かにやさしいです。読み違えなかったらですけど・・ InputStream in=con.getInputStream (); byte[] buf=new byte[1000*1000]; int size=0; for (int k; size<buf.length; ++size) { k=in.read(); if (k!=-1) break; buf[size]=(byte)k; } >>341 がいいたいのはこれでしょ? for (int sz; size<buf.length; size+=sz;) { sz=in.read(buf, size, buf.length); if (sz==-1) break; } int InputStream.read(byte[],int,int)は結局どのあたりで使うのだろう・・
354 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 11:01:35 ] こっちね。 for (int sz; size<buf.length; size+=sz;) { sz=in.read(buf, size, buf.length - size); if (sz==-1) break; }
355 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 13:47:45 ] >>311 >java.net.URLConnection con=url.openConnection(); >InputStream input=con.getInputStream(); >byte[] buffer=new byte[1000*1000]; >int size=input.read(buffer); >String data=new String(buffer, 0, size); このコードが、「(1000*1000バイトから溢れない範囲で、)ストリームの終わりまで読め」 っていう意味では無いことは理解してる? まぁ、理解してないから、 >>331 >クライアント側に失敗となる節が無いのに、 >結果が途中で尻切れになる原因が問題なのです。 なんて、頓珍漢なこと言ってるんだろうけど。 クライアント側で、「尻切れでいいよ」っていう意味のプログラム(>>311 )書いてるのに、 尻切れにならない理由がない。もちろん、常に尻切れになるって意味ではない。 > int InputStream.read(byte[],int,int)は結局どのあたりで使うのだろう・・ そりゃ、>>353 の前半よりも、>>354 の方が効率が良いからだろ。 動作速度無視、動けば良い、というのだったら、int InputStream#read()だけで足りる。 byte[]、char[]云々は、 >>316 の > Reader input=new InputStreamReader(con.getInputStream()); > とやると、全部読み込めるようなので、 を受けて。それで仮に読みこめたとしても、元のコードで読みたかったものとは違うものになる、って意味。 ああ、でも最終的に >String data=new String(buffer, 0, size); とStringにしたいのか。なら、問題無い。
356 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 15:41:18 ] Runtime.exec() で起動した Process のプロセスIDはどうすればわかりますか?
357 名前:デフォルトの名無しさん [2006/09/08(金) 17:10:29 ] >>355 お前はもうしゃしゃり出てこないくていい。 お前は最後まで気がついてないだろうけど、もう解決してるんだよ。 素直に「私だけわからないので、教えてください」と書けこの阿呆が! >このコードが、「(1000*1000バイトから溢れない範囲で、)ストリームの終わりまで読め」 って勝手に解釈している、あなたが原因です。そんな事はどこから読み取れるのでしょうか? お前はいつまでも図々しくて頭悪いの分かったから、このスレの初めに戻ってもっと熟読してこい。 ところで、何度も同じことしか書いてないけど、お前は実際に試してないで、勝手なこと言ってるんじゃないのか? どうも懲りてないようだから、今後はおまえの事を監視して付け狙うしかなさそうだな。 何か起こる前に、せいぜい身近なことに気を配ってた方がいいだろう。
358 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 17:12:45 ] またまたワロタ
359 名前:デフォルトの名無しさん [2006/09/08(金) 17:23:26 ] >355 知ってると思うけど、 int InputStream#read(byte[],int,int) は int InputStream#read()を内部で回している使っているだけだぞ。 サブクラスで実装する人は、もっと効率が良い方法でやるとよいというだけで、 つべこべ言わずに、動作速度重視・効率も良い実装を書いてみろや!
360 名前:デフォルトの名無しさん [2006/09/08(金) 17:25:37 ] >>355 そりゃ、>>353 の前半よりも、>>354 の方が効率が良いからだろ。 これの意味が分からないけど、何を根拠にそういえるの?
361 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 17:27:57 ] へー、Javaのネットワークって感情で書くのか
362 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 17:29:35 ] 逃げてばかりで またまたワロタ
363 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 17:41:25 ] へー、Javaのネットワークってテイラー展開で書くのかですが、何か?
364 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 17:47:04 ] ストリームからのデータ読み取りはニュートン法で収束させますが何か?
365 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:03:27 ] 収束ということは、零点がある保障はどこでわかるの?
366 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:17:37 ] >>364 読み取りは微分できるの?
367 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:25:09 ] よっぽど悔しかったんだろうな…
368 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:43:38 ] テイラー級数?
369 名前:デフォルトの名無しさん [2006/09/08(金) 20:30:27 ] 今日も風俗行かないで、こっちを覗いてみたけど いつまでも恥ずかしい奴だな オレの代わりに、誰でもいいから奴をグーで殴ってくれないか?
370 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 22:02:49 ] 1バイト読みはバカのやることです。
371 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 22:23:33 ] 1ビット読みは学生はやらないことです。
372 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 02:44:55 ] かっこだけつけて何も作れない奴って、一番かっこ悪いんだなぁ〜 と思った。
373 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 08:57:00 ] >>372 お前も現状口だけだけどな。
374 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 09:41:53 ] とりあえずおこちゃまはAPIとドキュメントの違いくらい理解してくれ
375 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 09:59:48 ] >>374 お前はほんとに口だけだな。
376 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 12:12:41 ] ところで、彼は尻切れになる事を理解とか納得とかできたのだろうか?
377 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 12:59:07 ] 低能、気違いの類いは放置推奨
378 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 22:08:44 ] 風俗にも行かないで ストレスのはけ口がない おばちゃんたちと同じのが どこにでもいるんだな〜
379 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 00:20:26 ] >>376 出来なかったんじゃないの?ところで君は理解できたの?
380 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 17:43:39 ] >>341 readのスニペット提示ありがとうございます。 これはストリームで良く使うパターンだった事を忘れてました。 >>337 それとavailable()の提示も参考になりました。
381 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 20:57:01 ] available()のAPIにある >戻り値: ブロックしないで入力ストリームから読み込むことができるバイト数 このブロックって具体的に何の事ですか?
382 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 22:36:26 ] www.google.co.jp/search?q=socket+%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF
383 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 00:20:37 ] >>382 どうも!
384 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 06:37:01 ] でんでん!
385 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 15:34:34 ] >>359 >>355 >知ってると思うけど、 >int InputStream#read(byte[],int,int) は >int InputStream#read()を内部で回している使っているだけだぞ。 InputStreamではそうだが、SocketInputStreamでは、 int read(byte[], int, int)がint read()を呼び出すわけだが。 少なくともSun Javaの1.5.0では。 どこかで、ネットワークの話から、ジェネリックなInputStreamの話に遷移してたのか?
386 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 18:16:11 ] でんでんだからじゃねーの ところで、でんでんってなんだよ!
387 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 19:40:49 ] >>385 お前は頭わるそうだな
388 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 01:49:48 ] >>385 何を聞きたいの分からないんだけど、聞きたい事はそんなに大事なのか?
389 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 23:20:00 ] Socket soc=new Socket(host,port); BufferedOutputStream buffOut=new BufferedOutputStream(soc.getOutputStream ()); PrintStream out=new PrintStream (buffOut); soc.close()とやると、自動でout.close()、buffOut.close()になるのでしょうか? たとえばラップしているbuffOut.close()だとout.close()まではならないと思うのですけど。 よろしければご指導お願いします。
390 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 23:36:28 ] よく考えると、自分で試せばいいことでした スマソ
391 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 01:27:29 ] 試して分からなかったら聞けばいい 間違いを自分で認めることはエライ
392 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 01:46:44 ] ソケットを使って、サーバーからクライアントに0.1秒ごとにデータを送信することを考えています。 それで↓こんな感じのを書いたんですが… while (true) { out.writeByte(…); out.flush(); Thread.sleep(100); } クライアントにデータが届くときに、0.2秒ごとに送信2回分のデータが固まって来てしまうんです。 試しに送信周期を30ミリ秒にしてみたらやっぱり0.2秒ごとに固まって来ました。 これは仕様ですか?
393 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 02:00:51 ] 始めの質問でoutとinで多少違いますが、 soc.close()ではjava.io.*関係は閉じませんでした。 in.close(); soc.close(); が作法のようです。 soc.close(); in.close(); b=in.read(); Exception in thread "main" java.io.IOException: Stream closed at java.io.BufferedInputStream.getBufIfOpen(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at java.io.FilterInputStream.read(Unknown Source) at k.main(k.java:22) soc.close(); b=in.read(); in.close(); Exception in thread "main" java.net.SocketException: socket closed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.io.BufferedInputStream.fill(Unknown Source) at java.io.BufferedInputStream.read(Unknown Source) at java.io.FilterInputStream.read(Unknown Source) at k.main(k.java:22)
394 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 08:38:08 ] >>392 java.net.Socketのリファレンスを読んで。 TCP_NODELAYのところ。
395 名前:392 mailto:sage [2006/09/14(木) 22:32:57 ] >>394 解決しました! ありがとうございました。
396 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 05:48:39 ] 風俗?女?流行?
397 名前:デフォルトの名無しさん [2006/09/16(土) 06:04:33 ] スニペットってC$のか?
398 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 12:02:54 ] リアルタイムOSでもなければ0.1秒おきに送信って厳しいなあ。 ヒント:JavaVMを含む世の中のOSのほとんどはプリエンプティブ処理。
399 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 12:13:21 ] >>398 引っ込め
400 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 12:16:38 ] RMI使ってる人いる? EJB使ってる人は居ても RMIをそのまま使う人に会ったことない
401 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 12:29:18 ] オブジェクト指向な環境では、 直接叩くより、どんどんクラスライブラリをため込んでいく流儀。 ミドルウェア書く人以外は、直接使わないのが多くても何の不思議はない。
402 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 13:08:17 ] JavaでP2Pのネットゲーム作るなら一番現実的なのがRMIだと思うんだけどね。
403 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 17:16:53 ] RMI使ってるよ。
404 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 17:37:29 ] ホントJAVAってお猿さん向けだなあ
405 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 18:03:31 ] >>404 Javaが嫌になったんですけど、どれに乗り換えればいいでしょうか? 当然ネットーワークが中心です。
406 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 19:56:39 ] 嫌になったとか、乗り換えるとか、 そういう選択肢があるってことはホビー用途かい? だったら別になんでもいいんじゃね? 動かなくてもいいんだし。
407 名前:デフォルトの名無しさん [2006/12/02(土) 12:43:46 ] javaの代わりったって、c/c++とかたくさんあるでしょう。 tomcatとかの代用は難しいかもしれないけど
408 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 16:51:35 ] LISPにでもしておけ。
409 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 19:24:38 ] RUBYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
410 名前:デフォルトの名無しさん mailto:sage [2006/12/02(土) 19:35:08 ] perlwwwww
411 名前:デフォルトの名無しさん [2006/12/03(日) 21:10:57 ] LimeWireの検索機能って、どーやってるんですか? Winnyは、IPアドレスを暗号化したノードを使ってますが、 LimeWireにはそれがありません。 まさか、IPアドレスを適当に作って相手がLimeWireを起動してるかチェックなんてことはやってないだろし。
412 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 21:20:19 ] HTTPってクラアントの送信データを全部受け取りましたってのを特定できないの? それともContent-Lengthが必ず付いてるのが前提だった? 生ソケットで作ってていっこうにinputを切断してこないから良く分からない。
413 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 00:04:20 ] 1.0なら送り終わったらぶち切って良いよ。 HTTPのRFCぐらい読めよ。
414 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 16:25:11 ] >>412 この頃は 1.1 だからな。普通切れない。長さは content-length だ。
415 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 20:21:35 ] >>413 すまんね、そのうち読んでみる。 >>414 ありがとう、助かったよ。
416 名前:デフォルトの名無しさん mailto:sage [2006/12/07(木) 22:51:28 ] chunked転送にも注意汁
417 名前:デフォルトの名無しさん [2007/02/01(木) 15:12:23 ] winxp sp2, jdk6で 勉強にネットワークスキャナのようなものを書いています。 ソケットを開く時にタイムアウトを設定したいんですが、 try{ Socket hoge = new Socket(); hoge.connect(new InetSocketAddress(url, port), 1000); }catch(SocketTimeoutException e ){ }catch(IOException e ){ }finnaly{ if(soket != null){ socket.close(); } } っていうような感じで複数スレッドで回しているのですが、 存在しないアドレスだとSocketTimeoutExceptionを出した後に、 SYN_SENTが20秒ほど残ったままになります。 存在しないアドレスが複数あると、SP2のharf-open 10個制限に引っかかって 20秒たってSYN_SENTが消えるまで次のconnectがブロックされてしまいます。 こういうもんなのでしょうか???
418 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:52:48 ] IPアドレスやユーザーが使っているパソコンや携帯電話などを見分けて タグを書き換えるということは可能ですか? ケータイ空のアクセスは <mova.html>でリンク <PC.html>からアクセスしたときだけタグを<pc.html>へ変更 おんなじページでもIPでリンク先のタグを書き換える仕様にしたいのですが
419 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 20:26:29 ] >>418 CGIかSSIの仕組み(あるいはSSIを利用した言語。PHPなど)を使えばできる。 JavaScript でもできないことはないかな。携帯では JavaScript は動かない ものと考えて <noscript> に携帯用リンクを入れておくとかね。 (あ、でも、この頃はフルブラウザがあるのか)
420 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 21:14:15 ] なんでjavaスレで?って感じなんだけど Strutsとかでも簡単に出来るよ
421 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 19:34:27 ] >>419 ケータイからのアクセス元のIPアドレスなんて、全キャリアあわせてもクラスCで数十程度だから、 ソースIPアドレス見て、初っ端からケータイ用にページ生成すればOKだと思う。
422 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 16:44:13 ] 質問させてください。 ただいま、ソケットを使って、ローカルにあるxmlファイルを表示するHTTPサーバを作っています。 ところが、転送の途中で接続が切れてしまう現象に困っています。 転送したいxml のファイルサイズは25kBです。 はじめはperlで書いていたのですが、そのときも同じ症状に悩まされ、 chunkedすれば直るかと思い、javaに移行したのですが、それでも同じ症状がでます。 何が原因なのかわからず、困り果てている状況です。 以下に、出力まわりのコードを載せてみますので、何か気づいた事があれば、教えていただけないでしょうか。 お願いします。
423 名前:422 mailto:sage [2007/03/05(月) 16:45:02 ] // 出力ストリーム BufferedOutputStream buf = new BufferedOutputStream(socket.getOutputStream()); PrintStream out1 = new PrintStream(buf); ChunkedOutputStream out = new ChunkedOutputStream(out1,2000); // HTTP ヘッダ String writeStr=""; writeStr += ("HTTP/1.1 200 OK\n"); writeStr += ("Connection: close\n"); writeStr += ("Transfer-Encoding: chunked\n"); writeStr += ("Content-Type: text/xml; charset=utf-8"); writeStr += ("\r\n\r\n"); buf.write(writeStr.getBytes()); // 入力ストリーム in から出力 writeStr=""; String inputLine; while ((inputLine = in.readLine()) != null) { writeStr += inputLine; } out.write(writeStr.getBytes());
424 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 18:31:46 ] >>423 close() が書いてないけど…… まさか close() してないとか、そんな阿呆なミスじゃないよね? charset=utf-8 ってやっておいて str.getBytes() は詐欺だろう。getBytes("utf-8") とかしないと。 ヘッダって "\r\n" で区切るんじゃなかったけか? "\n" で区切ってるように見えるが。 PrintStream は使うな。例外発生しても、どんな例外が発生したかわからん。 out, out1, buf があるのは良いけど、out 作ったなら out以外から出力するのは止めろ。
425 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:55:51 ] chunkedなのにchunk-sizeがない?
426 名前:422 mailto:sage [2007/03/06(火) 16:38:03 ] >>424 close()は書いてありませんが、してあります。 また、4点のご指摘ありがとうございます。 getByte()の件、ヘッダの区切り文字の件("\r\n")、指摘のように直しました。 ただ、PrintStreamは使わないようにとの件に関しまして、 使わないほうがいいという事は知りませんでしたが、 ChunkedOutputStreamの引数がPrintStreamになっておりますので、そのようにしている次第です。 ( import sun.net.www.http.ChunkedOutputStream; ) また、out以外 ( buf ) から出力させたのは、HTTPヘッダをチャンクさせない苦肉の策でした。 現在、ChunkedOutputStreamを使い続けるかどうかも含めて検討中です。 >>425 chunk-sizeなどは、ChunkedOutputStreamに任せました。 chunk-size \r\n *chunk のような形で出力されているようです。 RFCのデコーダ例を見る限り、その形で大丈夫だと思っています。 // ローカルのapacheに xml を転送させてみたら、chunk-sizeがファイルサイズ!一発で送ってました。 orz // ストリームのバッファサイズの問題、ソケット生成時の諸変数の問題、その他の問題 // またまた、問題がどこにあるのか分からなくなってまいりました。 // ちなみに、サーバの主要部は JavaWorldの記事を参考にしています。 ttp://www.javaworld.jp/technology_and_programming/-/19362-1.html
427 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 00:40:51 ] 一度、全部手で作ってみたほうがよくねえかなあ
428 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:29:52 ] ChunkedOutputStreamはJakarta CommonsのIOかLangにも入ってなかったかな。 Commons HTTPClientとかにも入ってるかも。 自分は知らないで自作したクチだが。
429 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 21:48:04 ] >>423 ChunkedOutputStreamが何者か判らないけど、 >out.write(writeStr.getBytes()); の後にout.flush()はやっているよな? out1は自動的にフラッシュされないぞ。
430 名前:デフォルトの名無しさん [2007/04/19(木) 22:24:33 ] ブレードサーバをクラスタ化してJavaでゲームサーバとかって もうそろそろ現実的な組み合わせだと思うけど、事例って無いのかな
431 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 10:14:37 ] クラスタ化するのにジャバが有効な理由って何?
432 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 15:15:58 ] JMXつかえば、SNMPマネージャでクラスタ全体の健全性チェックするのが楽とか。 そういうことかなー。
433 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 18:57:48 ] アプリケーションライフサイクルから言えば、速さより早さってのがあるしね。 C10Kには耐えられることが証明されてるし、 パターンプログラミングに造詣が深くて再開発に強いJavaはゲーム向きかも。
434 名前:デフォルトの名無しさん [2007/06/26(火) 14:41:00 ] SUNのdarkstarとかって成果でてる?
435 名前:デフォルトの名無しさん [2007/07/13(金) 00:20:58 ] ファイル転送ソフトを作りたいけどどこから始めたらいいかわからんな・・・ 今日書店にいって色々探してきたんだけどソケットとRMIのどちらかを使えばいいみたいだけど
436 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 02:23:58 ] 転送の方法にもよるけど、基本的にファイルコピーするのと変わらんよ。
437 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 02:31:33 ] ネットワーク越のファイルでtailとか可能ですか?
438 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 09:39:08 ] >>435 RMIだとrmiregistryが必要になるよ? >>437 ファイルってことは、一般的な意味でのネットワークファイルシステム越しのアクセス?なら そのファイルシステムの機能次第。
439 名前:デフォルトの名無しさん [2007/07/16(月) 22:50:32 ] [クライアント] - [ファイアウォール] - [サーバ] ファイアウォールでサーバからクライアントへの接続確立できないようになってる場合、 Socket通信でDataInputStreamとDataOutputStreamを使用した通信は可能でしょうか?
440 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 23:01:42 ] Socketで接続できるか否かが問題なのであって、 Data*StreamやReader、Writerのような Streamの修飾クラスにファイアフォールとか関係ないべ。
441 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 00:10:11 ] ここで聞いていいのかわからないけどTomcatに配備してあるjspを Windowsのタスクから定期的にブラウザ通さず実行させることってできる? 一定時間ごとに自動起動したいんだけどどうすればいいかよくわかりません。
442 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 01:55:45 ] てめーでHTTPリクエスト送れ
443 名前:デフォルトの名無しさん mailto:sage [2007/07/18(水) 04:03:14 ] wgetで監視とかやったなあ
444 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 05:08:07 ] 楽勝
445 名前:デフォルトの名無しさん [2007/08/25(土) 11:40:13 ] サーバからデータを受け取ってチャートを表示するJava Appletがあります。 そのデータを閲覧者に持って行ってほしくないのですがどうしたら良いでしょうか?
446 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 12:02:38 ] 意味解らないけど、生データがクライアントに転送されるのがマズイって事か? それならばサーバーでチャートを作成して画像データなんかにして送るしかないだろ もしくは暗号化して送れ キャプチャされるのはどうにもならんがw
447 名前:445 mailto:sage [2007/08/25(土) 12:29:44 ] >>446 そうです。ありがとうございます。 画像も考えたのですが、 データが多いのでサーバ側で処理することを考えて断念しました。 よって、暗号化を考えてるのですが、 アプレットをデコンパイルされた場合を考えると単純にAESなどでいいのか、 それとも他に良いソリューションがあるのか悩んでしまって。 良い方法があれば教えていただけると嬉しいです。。
448 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 13:01:49 ] >>447 転送しちゃマズイならば転送しないのがベストでしょう 暗号化して転送しても出力するところのクラスを解析されたら生データの抽出は可能でしょ グラフのプロットデータ程度まではサーバーで解析する その後のデータはもれても仕方ない、が妥当なライン 暗号化がアプリケーションの目的なのか、プロットが目的なのかはっきりしないと炎上確定
449 名前:445 mailto:sage [2007/08/25(土) 13:12:10 ] >>448 画像を生成せず出来る範囲で生データの解析を防ぎたいと思っています。 プロットデータまでの用意という方法は思いつきませんでした、ありがとうございます。
450 名前:デフォルトの名無しさん [2007/09/04(火) 07:25:49 ] データ用のclassファイルを、サーバで動的生成すれば? ttp://java-source.net/open-source/bytecode-libraries ここら辺で簡単にできるし。 まあ、逆コンパイルしたら一発で見えちゃうけど。
451 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 18:37:03 ] ftpファイル送受信クラスつくってるんだけど、 UnixとWindowsでseparatorCharがちがうと思うのだけど サーバのseparatorCharってどうやったら取得できますか?
452 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:10:38 ] PWD してみれば現在のパスが返るから、それ解析すればいいんじゃないかな
453 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 17:13:32 ] >>451 オプションで変えられるようにして決め打ちでいいんじゃね? 特定の用途であるならば、相手は決まっているだろうし
454 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 12:14:40 ] >>434 darkstarは少し聞くけど、Butterfly Gridって全然話を聞かないね。 重い技術・大きい技術は変化に付いていけなくて駄目だと思う。 自分も数年前は3年間ほど重い技術ばかりやってたけど 勉強にはなったけど無駄に終わった。 今は、NIOとGrizzlyとHadoop辺りに力を入れた方がいいと思う。
455 名前:デフォルトの名無しさん [2007/10/24(水) 18:00:42 ] 風俗勤務女= 魔界 ◆RC3h9.WHho = 東芝産業システム社
456 名前:デフォルトの名無しさん [2007/11/01(木) 09:07:35 ] 昨日、Java質問スレにて、レスがつかなかったので、こちらで質問させてください。 DatagramSocket.setTrafficClassをWindows2003のIPv6環境で使用された方はいらっしゃいますでしょうか? IPv4環境ではTPCヘッダのTOSフィールドに値がセットされますが、IPv6環境でTrafficClassフィールドに値が設定されません。
457 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 10:30:47 ] JavaDocは読んだか? |IP (Internet Protocol) バージョン 6 の場合、tc は IP ヘッダの sin6_flowinfo フィールドに格納される値です。
458 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 10:47:16 ] 初めてSocket使ったプログラム組んでみたが、送信がうまくいきません。 何がまずいか分かる人いるでしょうか? ちなみに、Windowsのtelnetで接続したときはうまくいったので、サーバは問題ないと思います。 // 接続 Socket socket = new Socket(host, port); // 出力ストリーム OutputStream out = socket.getOutputStream(); // 標準入力 BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); // 標準入力から1行読み、送信 out.write(stdin.readLine().getBytes()); out.flush();
459 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 11:04:32 ] >>458 「うまくいかない」とは? コンパイルエラーなのか、実行時例外なのか? 例外ならば例外を書け 例外が起きないならば、System.outでどこまで処理が進んでいるかを確認しろ 話はそれからだ
460 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 11:38:32 ] 例外は生じませんし、どこかで止まるわけでもないのです。 サーバはまず、ユーザ名の入力を求めるのですが、out.write でユーザ名を送信してもレスポンスがありません サーバからのメッセージは in.read で受信できるんですが、、、
461 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 11:53:44 ] 止まらないって事は、stdin.readLineを抜けているんだろ? つまり、標準入力から受け付けてないって事にならないか?
462 名前:デフォルトの名無しさん [2007/11/01(木) 12:30:46 ] >>457 殿 ありがとうございます。 確かにそのように記載されておりました。 パケットをキャプチャして確認してみます。 そこで疑問です。 1.sin6_flowinfoとはTCPヘッダのどの部分を指すのでしょうか? TCPヘッダを調べてみても該当する名前が見つけられません。 2.調べたところでは、「TOSはIPv6ではTrafficClassに置き換えられた」と ありましたので、てっきりTrafficClassに格納されると考えておりましたが、 IPv6のTrafficClassに値を設定する方法はあるのでしょうか?
463 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 12:31:03 ] 改行(=Enterキー)を送信してない気がする
464 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 20:23:02 ] >>463 ソレダ!どーやんの><
465 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 21:00:40 ] 事故解決しますた
466 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 21:03:43 ] してないです>< たすけて><;
467 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:15:35 ] out.write('\n');
468 名前:459 mailto:sage [2007/11/02(金) 00:16:12 ] 改行を送信してないって、相手もreadLineかよ 送信側をOutputStreamではなくて、PrintWriter使え そうすりゃ、相手もreadLineでOKだ
469 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 05:15:41 ] >>468 ありがとうございます 調べてみます
470 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:02:08 ] 「送信元が flush していない」に清き一票
471 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:36:28 ] flushはしているじゃん 改行コードまでwriteしているつもりなんだよ、たぶん
472 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 03:58:23 ] >>471 よく分からんくなって来た。 あのプログラムはいったいどちら側のプログラム? クライアント側? だとすると telnet で接続したとか言うのはどういう事?
473 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 09:03:47 ] >458にしか解らんよ それにサーバーは問題ないって書いてあるけど、サーバーとクライアントはセットでみないと通信が上手くいっているかなんかわかんね 少なくとも鯖がreadLineしてたら永遠に改行コードこなくて鯖がブロックされているはず
474 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 03:22:58 ] えっと、もともとTelnetで接続を受け付けてるサーバに接続するクライアントをJavaで書こうと思ったんです
475 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 10:24:46 ] PrintWriter使ったら解決しました
476 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 23:59:33 ] >>475 outをPrintWriterでラップしたってこと? PrintWriterは環境依存だから、BufferedWriter/Readerの組を使った方が良いかと
477 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 06:26:51 ] >>476 PrintWriterは環境依存 ⇒ ウソ
478 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 10:24:31 ] >>477 あれ〜と思ってチェックしてきたら、PrintStreamと混同してました。 スレ汚しすまん
479 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 21:26:17 ] BufferedReaderのreadlnを使えたら便利なんですけど、 プロンプトを待つときなんかは改行コードがついてないので結局readで1文字ずつ読むしかないんですかねぇ?
480 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 08:04:24 ] コンソールの話だとすると、環境によっては改行するまで読み出せないかもね。
481 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 18:14:56 ] ○×クイズ。×は理由もどうぞ。 1.スーパークラスを拡張してスモールクラスを宣言することができる。 2.クラスに関連づけられているメソッドをインスタンスメソッドという。 3.クラス内に変数を宣言してフィールドとすることができます。 4.例外を送出するにはthrows文を使います。 5.コンストラクタの戻り値は、そのクラスのインスタンスです。 6.java.langパッケージは自動的に取り込まれるので、java.lang.reflectパッケージも自動的に取り込まれる。 7.スレッドを一時停止するにはstop()メソッドを呼び出します。 8.抽象クラスのオブジェクトを作成することはできない。 9.Privateメンバには、クラスの外からアクセスすることができます。 10.引数を持つコンストラクタを作成することもできます。 11.コンストラクタの名前はクラスの名前と同じです。 12.複数のスレッドが共有するフィールドなどを処理する際は、メソッドにsynchronizedを指定します。 13.例外を送出する可能性のあるメソッドにはthrowをつけます。 14.‘A’はStringクラスのインスタンスです。 15.インターフェースのフィールドは定数となる。 16.インターフェースのメソッドは、処理を定義することができない実装メソッドとなる。 17.コンストラクタは、オブジェクトを生成するときに呼び出されます。 18.クラス内に一定の処理をまとめてメソッドとして定義することができます。 19.オブジェクトに関連付けられているフィールドをクラス変数という。 20.スーパークラスのprotectedメンバには、サブクラスからアクセスできる。 21.Publicメンバには、クラスの外からアクセスできる。 22.スーパークラスと同じメソッド名・引数の型・数をもつメソッドをサブクラスで定義して、オーバーロードすることができます。 23.メソッドの呼び出し元は、戻り値を受け取ることができます。 24.クラスに関連づけられているフィールドをインスタンス変数という。 25.クラスは、フィールドとメソッドをもつことができる
482 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 22:26:10 ] ○×を正反対にして回答しようかと思ったけど止めた。×の理由が面倒だ。 ってかスモールクラスってなんだよww
483 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:33:42 ] >>482 吹いたwwwwwwwwww ごめん俺もスモールクラスが理解できん
484 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 11:52:06 ] ひねくれた回答を考えてみる実験 1.○ $ cat *.java public class スーパークラス{} public class スモールクラス extends スーパークラス { public static void main(String[] args){System.out.println("Hello");}} $ javac *.java $ java スモールクラス Hello 2.× 設計上関連付いてても、必ずしもインスタンスメソッドじゃなくても 3.× フィールド宣言がクラス変数になるのであって、その逆じゃない 9.○ リフレクションで出来る 11.× クラスの単純名でなければならず、FQCNは使用できない 12.× synchronized文でもvolatileでも 15.× コンパイル時定数でないフィールドをインタフェースに宣言することもできる interface Foo { double foo = Math.random(); } 17.× newインストラクションでオブジェクトを生成した後コンストラクタを呼ばすにpopインストラクションで捨てることができる気がする 23.× 例外を投げるかもしんないし ・・・いまいち微妙
485 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 07:26:06 ] Javaの仕様に詳しくないやつの作った甘い質問だな。
486 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 10:10:10 ] ですます調とである調が混ざってるので減点 25ってinitializerがあるから×?
487 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:45:31 ] > 10(日) 10:10:10 別に initializer があるにしても、フィールドとメソッドをもつことができることに 変わりはないと思う。 他の問題を含めて、Java でなく日本語の問題になっている部分がある点で、 あまりいい問題じゃないね。
488 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 14:03:19 ] 21. Javaは大文字小文字を区別する。つまりPublicという名前のメンバのアクセス指定による。
489 名前:デフォルトの名無しさん [2008/02/12(火) 07:06:55 ] 今、Javaのnioを使ったServerSocketChannelをselect()で待つサーバーに対して、 C言語で書いたクライアントを接続しようとしてるんですけど。 C言語のconnect()がエラーを返してしまうんです。 これって、JavaがBIG_ENDIAN、C言語がLITTLE_ENDIANで動いてるせいなんですか? 一応、connect()する際のsockaddr_in構造体はport番号をhtonsで ネットワークバイトオーダに変換はしてるんですが...。
490 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 08:42:37 ] 関係ない。 telnetとかでそのポートにつながるか調べてみたら?
491 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 08:49:59 ] >>489 エンディアンが気になるなら、変えてみて試せばいいのに
492 名前:489 [2008/02/12(火) 16:52:25 ] 解決しました。 Cのgethostbyname()の結果がエンディアンの関係でバグってたのが原因でした。 ちなみに、 PowerBook G4(BIG_ENDIAN) --> iMac Intel(LITTLE_ENDIAN)が失敗して、 PowerBook G4(BIG_ENDIAN) --> Power Mac G5(BIG_ENDIAN)が成功してました。 Javaのnioや内部でのバイトオーダー変換に原因があると思ってデバッグしてた自分は一体...。
493 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:09:28 ] gethostbynameの結果がバグってるとは、返ってくるものが間違っていると言うこと?
494 名前:デフォルトの名無しさん [2008/02/28(木) 17:57:53 ] 少しわからないことがあるので質問させてもらいます。 今現在java.net.URL()を使ってHTTP通信を行っています。 そこで送信元ポートを指定して、通信を行いたいのですがどのようにすればいいのかがわかりません。 java.net系のリファレンスを見てもよくわかりませんでした。 初歩的な質問かもしれませんがよろしくお願いします。 これは、今のネットワークがあるポートからしかリクエストが飛ばないので、 送信元ポートを指定しなければならないためです。
495 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 18:03:37 ] >>494 URLでは無理 そういう特殊な使い方は想定されてない java.net.Socketを使って自分でHTTPプロトコルを喋れば可能
496 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 19:10:41 ] URLにcreatorなかったっけ
497 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 20:20:23 ] >>494 URLクラスをそのまま利用したいのなら>>496 のいうように 送信元ポートを指定して通信するように実装したURLConnectionのサブクラスを返す URLStreamHandlerのファクトリを作ってURL#setURLStreamHandlerFactoryで設定する。
498 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 20:42:45 ] URLStreamHandler クラスを継承して メソッド protected abstract URLConnection openConnection(URL u) throws IOException をオーバーライドして 送信元ポートを指定して通信するように実装した URLConnection のサブクラスを返せば良いのでしょうか
499 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 20:51:52 ] そうです
500 名前:494 mailto:sage [2008/03/03(月) 11:52:47 ] 遅くなりましたが>>495-499 ありがとうございました。 がんばってみようと思います。
501 名前:そのとおり [2008/09/05(金) 13:19:52 ] そのとおり
502 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 14:09:16 ] URL url = somthing; conn = url.openConnection(); とかある場合, conn.getInputStream() の戻りで返ってくる メソッドの振る舞いをカスタマイズしたいんですけど 何か方法ないですか?
503 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:48:51 ] > conn.getInputStream() の戻りで返ってくる > メソッドの振る舞いをカスタマイズしたいんですけど メソッドはメソッドを返せない。 getInputStream()で返ってくるInputStreamオブジェクトの振る舞いを変えたいって意味? どういうカスタマイズをしたいかによるけれど、 getInputStream()が返すInputStreamのメソッドの動作を変えたいのなら、 必要なメソッドをオーバーライドしたFilterInputStreamクラスのサブクラスを作成して、 InputStreamオブジェクトをそのクラスでラップしてやるのがお手軽かも。
504 名前:デフォルトの名無しさん [2008/10/22(水) 14:13:51 ] 今イーサリアルのようなすべてのポートとそこを通るパケットを監視できるようなシステムを作りたいのだけど、 どうしたらイーサリアルみたいなことできるの?あれやり方ぜんぜんわからないんだけど windowsファイアーウォールが関係してる?
505 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 14:43:26 ] Java だけじゃ無理だろ? JNI 使ってドライバ直接叩く気力があれば別だが... Unix 系だと BPF とかだけど, TCP/IP スタックとは 全く別のドライバ実装になってるもん Windows でも事情は似たようなもんだと思うぞ
506 名前:デフォルトの名無しさん [2008/10/22(水) 15:08:31 ] >>505 それは504への・・・でいいのかな? そうだとしてれす やっぱ無理なのか・・・ドライバを監視してるイメージなのかな。あれは。 そっかー。 じゃああるポートをあるポートに結びつけるだけのプロキシをつくりたいの だけど、あ、これならいけそうだ。 でもさ、いちいちプロ棋士のポートをアプリとルータ側で指定しなくちゃならなくなるよね。 何かできない? ルータ5900ポート → 5900プロ棋士5900 → アプリ5900ポート こんな風にはできないよね? プロ棋士でパケットを監視するの。プロ棋士実行してないときは ルータからアプリに直接いくの。
507 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 15:39:38 ] >>504 Windows環境で書くと、まず、winpcapを入れる。 winpcapインストールするとき、スタートアップ時にnpfサービスを自動起動するか 聞かれるので、yesにしておく。 このnpfサービスが生きていれば、packet.dll経由でアクセスして、キャプチャできる。 npfが生きてない場合、管理者権限で、java.exe(javaw.exe)を起動しないといけない。 XPならいいけど、Vistaで面倒なことになる。 あとはjpcap使ってJavaから使う。 もっと細かいことしたければ、packet.dllに直アクセスだけど、JNIよりJNAの方が楽。
508 名前:デフォルトの名無しさん [2008/10/23(木) 12:29:47 ] ヨドバシ.com(www.yodobashi.com )が重くて困っています。 どなたか、原因を探っていただけないでしょうか。 よろしくお願いします。 gimpo.2ch.net/test/read.cgi/kaden/1222787235/l50
509 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 12:31:42 ] プログラミングに関する質問にしてください
510 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 21:38:12 ] >>504 ほいなー。 netresearch.ics.uci.edu/kfujii/jpcap/doc/index.html
511 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 16:44:13 ] Struts と Hibernate が原因で重くなってるって?
512 名前:ともふみ mailto:tomo_deep2@yahoo.co.jp [2008/11/03(月) 11:14:08 ] こんにちは、知史といいます。 あなたの書き込みしたものを拝見させていただきました。 私はハッキングのことについて4か月前からいろいろと考え始めました。 すると、この書き込みを来て是非ハッキングについて詳しく教えていただきたいなと 思いメールをさせていただきました。 よろしければご返事をいただきたいのですが、よろしくお願いします。 小村 知史(コムラ トモフミ)
513 名前:デフォルトの名無しさん [2008/12/16(火) 07:51:13 ] >>401-512 オヤスミ… <⌒/ヽ-、___ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
514 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 17:31:12 ] www.cosmicbreak.jp/home このネトゲはクライアントがjavaとOpenGL、データベースがpostgleSQLで動いてるらしい。 javaって意外と速く動くんだね
515 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 17:42:22 ] スルー推奨
516 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 21:11:43 ] おまえを
517 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 07:17:31 ] ネットワーク処理はMMOまで行くとByteBufferだけで処理してそうだな。 ThreadLocalレベルのシングルトンでByteBufferをラップした擬似パケットクラスを作ってそう。
518 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 00:50:27 ] こやつめw
519 名前:デフォルトの名無しさん [2009/05/18(月) 15:29:01 ] >>513 Z z z <⌒/ヽ-、___ /<_/____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
520 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:11:15 ] 改行は¥r¥nってRFCだっけか。 printlnで済まないのがもどかしい。
521 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 06:36:39 ] >printlnで済まないのがもどかしい。 httpヘッダなんかを手で書いてるの? やめといたほうが・・・ 全然関係名いけどrfcテキスト自体の改行コードも\r\nなんだな www.ietf.org/rfc/rfc2223.txt
522 名前:デフォルトの名無しさん [2009/06/18(木) 21:22:06 ] >>521 ∧,,∧ ∧,,∧ ∧,,(´-ω-)(-ω-`)∧,,∧ ( ´-ω)旦o) (o旦o(ω-` ) (_ o[( ´-) (-` )]o _) └'ー-(_ )][( _)ー'┘ 'ー'^ー' 'ー'^ー'
523 名前:デフォルトの名無しさん [2009/07/20(月) 19:18:23 ] ついにできたお♪
524 名前:デフォルトの名無しさん [2009/07/22(水) 14:58:38 ] 何が出来たの?
525 名前:デフォルトの名無しさん [2009/12/23(水) 05:43:25 ] 同じく
526 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:54:43 ] swing操作やキーボード操作で表示を変えてる間も、ちゃんとネットワーク処理させたいけど、両方timerでスレッドプログラミングして非同期で動く様にしとけばおk?
527 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 15:40:42 ] >>526 なんか微笑ましい文章だな。無理やり知ってる単語繋がなくていいよ。 NW処理をGUIのスレッド(Swing/AWTのEDT)でやらなければ、GUIがブロックされることはない。 NWはSocket系使うか、NIO使うかで変わる。前者なら1つのSocketに対して1つのスレッドを作って、 スレッド内では同期処理。受信/送信でUIへのフィードバックが発生したら、EventQueue#invokeLater でUI更新。 後者なら、基本的にはひとつのスレッドでSelector#selectして、シングルスレッドで非同期処理。 UIへのフィードバックは同様にEventQueue#invokeLater。 最大のスケーラビリティ/パフォーマンスを求めるなら、Selector#selectで、selectされたSocketChannelを スレッドプールで処理。
528 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:05:19 ] Windows上のJRubyでUDPv6のbindが出来ない問題に当たりました。 この状況に対応すると思われるJavaコードはリンク先の通りなのですが、 同様にWindows上ではエラーが生じる環境ばかりであるのか、 または逆にエラーが生じず正常動作するWindowsの環境があるのか。 自分の環境ではどのような結果になったのかを教えて頂けると幸いです。 pastebin.ca/1766399
529 名前:528 mailto:sage [2010/01/27(水) 05:35:26 ] 自己レスです。 JDK 7 b36にて上記の問題は解決されたようです。 ただし、これはVista以降のみに対応する修正であり Windows XPでは問題が残ったままとなっています(JDK 7 b80にて確認)。 bugs.sun.com/view_bug.do?bug_id=4640544
530 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 16:00:28 ] 初心者ですが失礼します お絵かきチャット作っているんですが クライアントからキャンパスに描画した座標データをすべて ArrayListに入れて ArrayList自体を送受信しようとしているのですが・・・・・ 受信 BufferedInputStream bis = new BufferedInputStream(socket.getInputStream()); ObjectInputStream reader = new ObjectInputStream(bis);*1 送信 BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream()); ObjectOutputStream reader = new ObjectOutputStream(bos); この書き方じゃだめですか? *1で処理がとまります。 お願いします
531 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 16:41:16 ] 送信側flushしないとバッファにたまったまま送信されないからじゃない?
532 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 21:54:24 ] >>531 どうも動きましたww しかしエラーが・・・・・ java.io.StreamCorruptedExceptionってエラー ググッたらスレッドがどうちゃらこうちゃら どうすればいいんだ?orz
533 名前:ああああ mailto:sage [2010/02/15(月) 22:03:50 ] 530です あのですね ArrayListをサーバ側と送受信したいんですが、 どうやればいいんでしょうか? ObjectOutputStreamとか使っていいのでしょうか? これの引数がFileOutputStreamになっていたのですが・・・ 大丈夫なのでしょうか?
534 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 11:52:54 ] サーバ codepad.org/eyKqVrKz クライアント codepad.org/otr3pBQE
535 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 12:08:55 ] もしかしてObjectOutputStreamを毎回作り直していないでしょうか ObjectOutputStreamを作り直すなら対応するObjectInputStreamも作り直さないといけない ずっと同じObjectOutput/InputStreamを使い続けるか、毎回Output/Input両方とも作り直すか どっちでもいいけどどっちかに決めてください 片方だけ作り直すのはNG もし同じObjectOutputStreamを使い続けるならときどきflushに加えてresetも入れてください
536 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 19:20:34 ] プログラムは組めるけど、ネットの仕組みが分かってない感じだなw 一般道の知識無しに、車の運転してるみたいw
537 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 10:15:11 ] CookieManagerが動いていることを確かめるのにいい方法はありませんか?
538 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 12:33:27 ] HTTP TCP/IP の違いについて教えてもらえないでしょうか? TCP/IPはOSI第3,4層にあたるプロトコルとはわかるのですが HTTP はOSI第何層にあたるのでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 12:37:02 ] ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%83%87%E3%83%AB
540 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 12:41:34 ] >>539 ありがとうございます そこで、javaの new URL(... はOSIモデルの第何層を使用しているのでしょうか?
541 名前:デフォルトの名無しさん mailto:loopy 死ね sage [2010/04/18(日) 12:43:36 ] デジャヴ?
542 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 17:47:22 ] >>540 プロトコルもOSI参照モデルも理解してないのはわかった。 結局のところ、どの辺から理解できてないんだ?
543 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 18:27:19 ] >>542 GETリクエストでやりとりする方法があったり wgetのように、すでにできあがってるものを再利用したり web上のデータを取得する方法はたくさんあることを知りました しかし、TCP/IPでのやりとりや、winsock2を使ったやりとりなど 手続きがいろいろあり、どれを採用すればいいのか また、利点、欠点などがわかってない状態です
544 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 18:28:44 ] web上のデータを取得できるサーバもあれば、 取得できないサーバもありまして、 どのサーバでもデータが取得できるものを作りたいと考えているところです
545 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 18:47:45 ] 誰もそんなこと聞いとらんがな
546 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 19:31:43 ] 相手したら負け
547 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 19:32:45 ] 釣りなのかマジなのか知らんが 質問にまともに答えないと まともに相手される訳がない
548 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 16:45:24 ] どの辺というのがわかりません
549 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 17:39:54 ] pc11.2ch.net/test/read.cgi/hack/1019598968/
550 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 18:05:22 ] pc12.2ch.net/test/read.cgi/tech/1269343909/142 pc12.2ch.net/test/read.cgi/tech/1269343909/162
551 名前:デフォルトの名無しさん [2010/09/24(金) 06:26:45 ] え?
552 名前:デフォルトの名無しさん mailto:sage [2011/01/19(水) 00:48:25 ] Javaの鯖で、DCOMのクライアントと通信するには 何を使えばいいの?
553 名前:デフォルトの名無しさん mailto:sage [2011/01/23(日) 19:54:15 ] しらんけど、「Java DCOM bridge」ググってみては?
554 名前:デフォルトの名無しさん [2011/03/14(月) 00:26:37.67 ] SocketとServerSocketを使ってファイル転送をするプログラムを作っているのですが、 クライアント側でサーバ側のIPアドレスを指定せず、ポートのみ指定するだけで 接続することってできるのでしょうか。 現状クライアント側でサーバ側のIPとポートを指定して接続しています。 サーバ側のIPアドレスを固定せずに接続したいのですが、、
555 名前:デフォルトの名無しさん mailto:sage [2011/03/14(月) 11:07:36.19 ] >>554 住所を知らん相手にどうやって送るのかと
556 名前:デフォルトの名無しさん mailto:sage [2011/03/14(月) 15:00:47.68 ] DNSレコードに登録していればIPアドレスを直接書く必要はなくなる あるいは、一つだけ必ず特定のIPアドレスかドメイン名でアクセスできる案内サーバを置いて 各サーバはIPアドレスを案内サーバに通知して クライアントは各サーバのIPアドレスを案内サーバに問い合わせる という設計にすることもできる どちらにしてもJava固有の手法ではない
557 名前:デフォルトの名無しさん mailto:sage [2011/03/14(月) 16:36:24.22 ] ARP使えば可能かも知れんな
558 名前:デフォルトの名無しさん [2011/03/15(火) 03:13:47.57 ] jxtaの質問はここでいいの?
559 名前:デフォルトの名無しさん [2011/03/15(火) 04:44:54.87 ] だめ
560 名前:デフォルトの名無しさん mailto:sage [2011/05/20(金) 19:11:24.56 ] 学習目的に超単純なhttp proxyを作ってみようと思うが、>>237-238 のソースを読んでみるのが敷居低い? なんかいい参考情報あったらヨロ。
561 名前: 忍法帖【Lv=2,xxxP】 mailto:sage [2011/05/29(日) 21:04:53.27 ] にゃ
562 名前:デフォルトの名無しさん [2011/05/31(火) 11:08:48.09 ] 【 課題 】課題1 【 形態 】Java 【 期限 】5日以内でお願いいたします。 【 補足 】edu.net.c.dendai.ac.jp/ad1/2011/kadai.html いきなり失礼ですが、頼るところがないのでお願いいたします。
563 名前: 忍法帖【Lv=1,xxxP】 【東電 73.8 %】 mailto:sage [2011/05/31(火) 12:27:26.38 ] 重複。 hibari.2ch.net/test/read.cgi/tech/1300950228/991 ★★Java質問・相談スレッド144★★ 【 課題 】課題1 【 形態 】Java 【 期限 】5日以内でお願いいたします。 【 補足 】edu.net.c.dendai.ac.jp/ad1/2011/kadai.html いきなり失礼ですが、頼るところがないのでお願いいたします。
564 名前:デフォルトの名無しさん mailto:sage [2011/06/02(木) 03:20:27.73 ] 誰かが東京電機大学にチクるんじゃw
565 名前: 忍法帖【Lv=3,xxxP】 【東電 57.9 %】 mailto:sage [2011/06/02(木) 03:40:00.93 ] 通報してもしょうがない。 課題のページを外から見れなくするなり、学生のidとパスワー度で認証したらいいのにw
566 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/02(土) 19:47:46.10 ] これ ; デリミタっていうんだけどさ、よく打ち忘れるよね Rubyだとつけなくてよくなるんだけど 結局ただのゴミだったんだな
567 名前:デフォルトの名無しさん mailto:sage [2011/07/03(日) 13:58:31.80 ] multi shall die
568 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/04(月) 10:17:21.48 ] >>562 > 【 形態 】Java ハアァァァァァァアァァァァァァァァ?????? ゴミだし
569 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 20:28:55.50 ] スタックにpushで挿入した文字列を 表示するにはどうすればいいですか ((Stack)stk).printAll(); だと全部表示しちゃうので pushで挿入した文字列だけを表示したい
570 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 17:08:29.21 ] SocketChannelを使って簡易チャットを作りたいのですが ServerSocketChannelに繋がれたクライアント全員にメッセージを送ろうと思ったら どうすればいいんですか?
571 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 17:25:54.06 ] ブロードキャストすればいいじゃないか
572 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 17:29:35.89 ] というか、わざわざ書かなくとも優秀なオープンソースのIRCサーバの コードはいろいろあるだろう
573 名前:Perl忍者 mailto:sage [2011/08/02(火) 17:57:05.19 ] 天使いますか きてください 天使おい 天使 くそゴミ天使
574 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 17:23:24.25 ] ログインが必要なサイトから画像を取得するにはどうすればいいですか?
575 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 18:18:09.18 ] ログインすればいいと思うが、何が問題?
576 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 18:49:38.13 ] 何を使えばいいのかすらわからないです URLConnectionを使えばできますか?
577 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 20:39:11.74 ] 十中八九。 ただHTTPの知識がいると思われる。
578 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 04:48:06.69 ] >>574 です HttpURLConnectionを使いログイン情報をPOSTで送信したあと 画像のあるURLに移動し画像を取得する方法がわからないです なんでもいいでのヒントください
579 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 14:27:24.00 ] ログイン成功したら、クッキーが返ってきてるでしょ。 画像をGETする時のリクエストにクッキーを加える。 ブラウザがやってることを、wiresharkでパケット覗けばすぐ分かる。
580 名前:デフォルトの名無しさん mailto:sage [2011/08/18(木) 08:21:55.12 ] POSTでidとパスワードを送信してずらっと返ってきたHTML文章を見たところ ログインはできてるようなんですがそこから他のページに行く方法がわかりません URLを指定して移動するにはどうすればいいのでしょうか
581 名前:デフォルトの名無しさん mailto:sage [2011/08/18(木) 09:50:42.01 ] 返されたクッキー使えよ。
582 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 03:23:23.55 ] URI uri = new URI("***.jpg "); URL url = uri.toURL(); HttpURLConnection uc = (HttpURLConnection)url.openConnection(); InputStream fileIS = uc.getInputStream(); File saveFile = new File("sample.jpg"); FileOutputStream fileOS = new FileOutputStream(saveFile); int c; while((c =fileIS.read()) != -1){ fileOS.write((byte) c); } fileOS.close(); fileIS.close(); ログインした後↑みたいな感じでpixivにある画像を保存しようと思ったのですが エラーは出ずに保存されたファイルは中身が何もありませんでした 同じpixivサイト内の広告画像は保存できました 何がダメなんでしょうか
583 名前:デフォルトの名無しさん [2011/09/11(日) 22:19:29.55 ] >>582 君の頭
584 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 20:36:18.06 ] SocketChannelを使ってnon-blocking connect のタイムアウトの設定方法がわかりません。 調べてみると同様の問題で苦労されている方が何人かいて、解決法を書いているひともいますが、それを試してもうまくいかずで困っております。 (日本語だと、<d.hatena.ne.jp/u1tnk/20090717/1247848889> など) 例えば、 socketChannel.socket().setSoTimeout(0); でもうまくいきません。 どなたかご教授頂けると幸いです。
585 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 15:01:26.07 ] SelectorでSelectionKey#OP_CONNECTとか待てばいいんじゃないでしょうか
586 名前:デフォルトの名無しさん mailto:sage [2011/09/25(日) 19:13:09.85 ] すみません初歩的なのですが どなたかご教示ください。 servletでWebサービス作ってます。 クライント側から AAAA/BBBB?c=ccc&d=ddd みたいなクエリ付きで要求されたら、 クライアントで送信時にリクエストラインのmethod=POST と明示的に指定しても 絶対サーバー側でdoGetになってしまうのは仕様ですか? やりたいのはdoPostで受付けて、メッセージボディの内容もクエリも 利用する事なんですが。
587 名前:デフォルトの名無しさん mailto:sage [2011/09/26(月) 18:43:36.13 ] >>586 です。 自己解決しました。 AAAA?c=ccc&d=ddd の場合のみPOSTできないだけでした。 お騒がせしました(><)
588 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 00:21:13.39 ] 知っている方がいらしたら教えてください。 Webアプリで、とある画像を表示させたあと、ブラウザでキャッシュされた画像ファイルを消したいと思っています。セキュリティなどの特殊な用途だと思ってください。 環境は Tomcat( Servlet + Java ) での Webアプリです。 調べてみたのですが、どうやら一度ブラウザにキャッシュされてしまうとどうしようもないらしく、キャッシュをさせないように表示させる、もしくはキャッシュを消すなんて可能なんでしょうか・・・
589 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 00:31:48.36 ] >>588 この質問をしたものです。 ひとつ発見。 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA ........... この書き方だと、イメージはキャッシュされません。 が、HTML の中を見ると解析されてしまいますね。
590 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 00:36:03.59 ] 小手先じゃぁ無理。ところでさ、デジカメでモニタ画面を写真撮影されたらどうすんだ?てなハナシ。
591 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 00:53:32.55 ] >>590 そうなんですよね、スクリーンキャプチャーされたら結局ブラウザとか関係ないし…
592 名前:デフォルトの名無しさん [2011/10/28(金) 18:46:34.40 ] >>588 むりです