1 名前:じぇいそん [04/06/03 14:00] ネットワークプログラミング相談室ではいろいろな言語の質問が混ざっているようなの で、 Java 用にスレを立ててみることにしました。 Java によるTCP/IPソケットプログラミング、 ネットワークサーバーの構築、RMI 、JINI 、 分散コンピューティングなどについての技や プログラミングついてみんなで話し合いましょう!! 関連スレ: ネットワークプログラミング相談室 Port9 pc5.2ch.net/test/read.cgi/tech/1080658835/
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 ] おまえを