[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/09 15:16 / Filesize : 136 KB / Number-of Response : 517
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Java ネットワークプログラミング 【教えて!】



1 名前:じぇいそん [04/06/03 14:00]
ネットワークプログラミング相談室ではいろいろな言語の質問が混ざっているようなの
で、 Java 用にスレを立ててみることにしました。


Java によるTCP/IPソケットプログラミング、
ネットワークサーバーの構築、RMI 、JINI 、
分散コンピューティングなどについての技や
プログラミングついてみんなで話し合いましょう!!

関連スレ:
ネットワークプログラミング相談室 Port9 pc5.2ch.net/test/read.cgi/tech/1080658835/


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 ]
おまえを






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<136KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef