Java ネットワークプログラミング 【教えて!】at TECH
Java ネットワークプログラミング 【教えて!】 - 暇つぶし2ch449:445
07/08/25 13:12:10
>>448
画像を生成せず出来る範囲で生データの解析を防ぎたいと思っています。
プロットデータまでの用意という方法は思いつきませんでした、ありがとうございます。

450:デフォルトの名無しさん
07/09/04 07:25:49
データ用のclassファイルを、サーバで動的生成すれば?
URLリンク(java-source.net)
ここら辺で簡単にできるし。

まあ、逆コンパイルしたら一発で見えちゃうけど。

451:デフォルトの名無しさん
07/10/05 18:37:03
ftpファイル送受信クラスつくってるんだけど、
UnixとWindowsでseparatorCharがちがうと思うのだけど
サーバのseparatorCharってどうやったら取得できますか?


452:デフォルトの名無しさん
07/10/05 22:10:38
PWD してみれば現在のパスが返るから、それ解析すればいいんじゃないかな

453:デフォルトの名無しさん
07/10/06 17:13:32
>>451
オプションで変えられるようにして決め打ちでいいんじゃね?
特定の用途であるならば、相手は決まっているだろうし

454:デフォルトの名無しさん
07/10/09 12:14:40
>>434
darkstarは少し聞くけど、Butterfly Gridって全然話を聞かないね。
重い技術・大きい技術は変化に付いていけなくて駄目だと思う。
自分も数年前は3年間ほど重い技術ばかりやってたけど
勉強にはなったけど無駄に終わった。

今は、NIOとGrizzlyとHadoop辺りに力を入れた方がいいと思う。

455:デフォルトの名無しさん
07/10/24 18:00:42
風俗勤務女= 魔界 ◆RC3h9.WHho = 東芝産業システム社

456:デフォルトの名無しさん
07/11/01 09:07:35
昨日、Java質問スレにて、レスがつかなかったので、こちらで質問させてください。

DatagramSocket.setTrafficClassをWindows2003のIPv6環境で使用された方はいらっしゃいますでしょうか?
IPv4環境ではTPCヘッダのTOSフィールドに値がセットされますが、IPv6環境でTrafficClassフィールドに値が設定されません。

457:デフォルトの名無しさん
07/11/01 10:30:47
JavaDocは読んだか?
|IP (Internet Protocol) バージョン 6 の場合、tc は IP ヘッダの sin6_flowinfo フィールドに格納される値です。

458:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/01 11:04:32
>>458
「うまくいかない」とは?
コンパイルエラーなのか、実行時例外なのか?
例外ならば例外を書け
例外が起きないならば、System.outでどこまで処理が進んでいるかを確認しろ

話はそれからだ

460:デフォルトの名無しさん
07/11/01 11:38:32
例外は生じませんし、どこかで止まるわけでもないのです。
サーバはまず、ユーザ名の入力を求めるのですが、out.write でユーザ名を送信してもレスポンスがありません
サーバからのメッセージは in.read で受信できるんですが、、、

461:デフォルトの名無しさん
07/11/01 11:53:44
止まらないって事は、stdin.readLineを抜けているんだろ?
つまり、標準入力から受け付けてないって事にならないか?

462:デフォルトの名無しさん
07/11/01 12:30:46
>>457 殿
ありがとうございます。
確かにそのように記載されておりました。
パケットをキャプチャして確認してみます。

そこで疑問です。
1.sin6_flowinfoとはTCPヘッダのどの部分を指すのでしょうか?
 TCPヘッダを調べてみても該当する名前が見つけられません。


2.調べたところでは、「TOSはIPv6ではTrafficClassに置き換えられた」と
ありましたので、てっきりTrafficClassに格納されると考えておりましたが、
IPv6のTrafficClassに値を設定する方法はあるのでしょうか? 



463:デフォルトの名無しさん
07/11/01 12:31:03
改行(=Enterキー)を送信してない気がする

464:デフォルトの名無しさん
07/11/01 20:23:02
>>463
ソレダ!どーやんの><

465:デフォルトの名無しさん
07/11/01 21:00:40
事故解決しますた

466:デフォルトの名無しさん
07/11/01 21:03:43
してないです><
たすけて><;

467:デフォルトの名無しさん
07/11/01 22:15:35
out.write('\n');

468:459
07/11/02 00:16:12
改行を送信してないって、相手もreadLineかよ
送信側をOutputStreamではなくて、PrintWriter使え
そうすりゃ、相手もreadLineでOKだ

469:デフォルトの名無しさん
07/11/02 05:15:41
>>468
ありがとうございます
調べてみます

470:デフォルトの名無しさん
07/11/04 01:02:08
「送信元が flush していない」に清き一票

471:デフォルトの名無しさん
07/11/04 01:36:28
flushはしているじゃん
改行コードまでwriteしているつもりなんだよ、たぶん

472:デフォルトの名無しさん
07/11/04 03:58:23
>>471
よく分からんくなって来た。
あのプログラムはいったいどちら側のプログラム?
クライアント側?

だとすると telnet で接続したとか言うのはどういう事?

473:デフォルトの名無しさん
07/11/04 09:03:47
>458にしか解らんよ
それにサーバーは問題ないって書いてあるけど、サーバーとクライアントはセットでみないと通信が上手くいっているかなんかわかんね
少なくとも鯖がreadLineしてたら永遠に改行コードこなくて鯖がブロックされているはず

474:デフォルトの名無しさん
07/11/05 03:22:58
えっと、もともとTelnetで接続を受け付けてるサーバに接続するクライアントをJavaで書こうと思ったんです


475:デフォルトの名無しさん
07/11/05 10:24:46
PrintWriter使ったら解決しました

476:デフォルトの名無しさん
07/11/05 23:59:33
>>475
outをPrintWriterでラップしたってこと?
PrintWriterは環境依存だから、BufferedWriter/Readerの組を使った方が良いかと

477:デフォルトの名無しさん
07/11/06 06:26:51
>>476
PrintWriterは環境依存 ⇒ ウソ

478:デフォルトの名無しさん
07/11/06 10:24:31
>>477
あれ~と思ってチェックしてきたら、PrintStreamと混同してました。
スレ汚しすまん

479:デフォルトの名無しさん
07/11/06 21:26:17
BufferedReaderのreadlnを使えたら便利なんですけど、
プロンプトを待つときなんかは改行コードがついてないので結局readで1文字ずつ読むしかないんですかねぇ?

480:デフォルトの名無しさん
07/11/07 08:04:24
コンソールの話だとすると、環境によっては改行するまで読み出せないかもね。

481:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/06 22:26:10
○×を正反対にして回答しようかと思ったけど止めた。×の理由が面倒だ。
ってかスモールクラスってなんだよww

483:デフォルトの名無しさん
08/02/07 10:33:42
>>482
吹いたwwwwwwwwww

ごめん俺もスモールクラスが理解できん

484:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/10 07:26:06
Javaの仕様に詳しくないやつの作った甘い質問だな。

486:デフォルトの名無しさん
08/02/10 10:10:10
ですます調とである調が混ざってるので減点
25ってinitializerがあるから×?

487:デフォルトの名無しさん
08/02/10 13:45:31
> 10(日) 10:10:10

別に initializer があるにしても、フィールドとメソッドをもつことができることに
変わりはないと思う。

他の問題を含めて、Java でなく日本語の問題になっている部分がある点で、
あまりいい問題じゃないね。


488:デフォルトの名無しさん
08/02/11 14:03:19
21. Javaは大文字小文字を区別する。つまりPublicという名前のメンバのアクセス指定による。

489:デフォルトの名無しさん
08/02/12 07:06:55
今、Javaのnioを使ったServerSocketChannelをselect()で待つサーバーに対して、
C言語で書いたクライアントを接続しようとしてるんですけど。

C言語のconnect()がエラーを返してしまうんです。
これって、JavaがBIG_ENDIAN、C言語がLITTLE_ENDIANで動いてるせいなんですか?

一応、connect()する際のsockaddr_in構造体はport番号をhtonsで
ネットワークバイトオーダに変換はしてるんですが...。



490:デフォルトの名無しさん
08/02/12 08:42:37
関係ない。
telnetとかでそのポートにつながるか調べてみたら?

491:デフォルトの名無しさん
08/02/12 08:49:59
>>489
エンディアンが気になるなら、変えてみて試せばいいのに

492:489
08/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:デフォルトの名無しさん
08/02/14 13:09:28
gethostbynameの結果がバグってるとは、返ってくるものが間違っていると言うこと?

494:デフォルトの名無しさん
08/02/28 17:57:53
少しわからないことがあるので質問させてもらいます。

今現在java.net.URL()を使ってHTTP通信を行っています。
そこで送信元ポートを指定して、通信を行いたいのですがどのようにすればいいのかがわかりません。
java.net系のリファレンスを見てもよくわかりませんでした。
初歩的な質問かもしれませんがよろしくお願いします。

これは、今のネットワークがあるポートからしかリクエストが飛ばないので、
送信元ポートを指定しなければならないためです。

495:デフォルトの名無しさん
08/02/28 18:03:37
>>494
URLでは無理
そういう特殊な使い方は想定されてない
java.net.Socketを使って自分でHTTPプロトコルを喋れば可能

496:デフォルトの名無しさん
08/02/28 19:10:41
URLにcreatorなかったっけ

497:デフォルトの名無しさん
08/02/28 20:20:23
>>494
URLクラスをそのまま利用したいのなら>>496のいうように
送信元ポートを指定して通信するように実装したURLConnectionのサブクラスを返す
URLStreamHandlerのファクトリを作ってURL#setURLStreamHandlerFactoryで設定する。

498:デフォルトの名無しさん
08/02/28 20:42:45
URLStreamHandler クラスを継承して
メソッド
protected abstract URLConnection openConnection(URL u) throws IOException
をオーバーライドして
送信元ポートを指定して通信するように実装した
URLConnection のサブクラスを返せば良いのでしょうか


499:デフォルトの名無しさん
08/02/28 20:51:52
そうです

500:494
08/03/03 11:52:47
遅くなりましたが>>495-499ありがとうございました。
がんばってみようと思います。

501:そのとおり
08/09/05 13:19:52
そのとおり

502:デフォルトの名無しさん
08/09/15 14:09:16
URL url = somthing;
conn = url.openConnection();
とかある場合, conn.getInputStream() の戻りで返ってくる
メソッドの振る舞いをカスタマイズしたいんですけど
何か方法ないですか?


503:デフォルトの名無しさん
08/09/21 13:48:51
> conn.getInputStream() の戻りで返ってくる
> メソッドの振る舞いをカスタマイズしたいんですけど
メソッドはメソッドを返せない。
getInputStream()で返ってくるInputStreamオブジェクトの振る舞いを変えたいって意味?
どういうカスタマイズをしたいかによるけれど、
getInputStream()が返すInputStreamのメソッドの動作を変えたいのなら、
必要なメソッドをオーバーライドしたFilterInputStreamクラスのサブクラスを作成して、
InputStreamオブジェクトをそのクラスでラップしてやるのがお手軽かも。

504:デフォルトの名無しさん
08/10/22 14:13:51
今イーサリアルのようなすべてのポートとそこを通るパケットを監視できるようなシステムを作りたいのだけど、
どうしたらイーサリアルみたいなことできるの?あれやり方ぜんぜんわからないんだけど
windowsファイアーウォールが関係してる?

505:デフォルトの名無しさん
08/10/22 14:43:26
Java だけじゃ無理だろ?

JNI 使ってドライバ直接叩く気力があれば別だが...

Unix 系だと BPF とかだけど, TCP/IP スタックとは
全く別のドライバ実装になってるもん
Windows でも事情は似たようなもんだと思うぞ


506:デフォルトの名無しさん
08/10/22 15:08:31
>>505
それは504への・・・でいいのかな?
そうだとしてれす
やっぱ無理なのか・・・ドライバを監視してるイメージなのかな。あれは。
そっかー。

じゃああるポートをあるポートに結びつけるだけのプロキシをつくりたいの
だけど、あ、これならいけそうだ。
でもさ、いちいちプロ棋士のポートをアプリとルータ側で指定しなくちゃならなくなるよね。
何かできない?

ルータ5900ポート → 5900プロ棋士5900 → アプリ5900ポート
こんな風にはできないよね?
プロ棋士でパケットを監視するの。プロ棋士実行してないときは
ルータからアプリに直接いくの。

507:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/23 12:29:47
ヨドバシ.com(URLリンク(www.yodobashi.com)<)l50


509:デフォルトの名無しさん
08/10/23 12:31:42
プログラミングに関する質問にしてください

510:デフォルトの名無しさん
08/10/23 21:38:12
>>504
ほいなー。

URLリンク(netresearch.ics.uci.edu)


511:デフォルトの名無しさん
08/10/28 16:44:13
Struts と Hibernate が原因で重くなってるって?

512:ともふみ
08/11/03 11:14:08
こんにちは、知史といいます。

あなたの書き込みしたものを拝見させていただきました。

私はハッキングのことについて4か月前からいろいろと考え始めました。

すると、この書き込みを来て是非ハッキングについて詳しく教えていただきたいなと
思いメールをさせていただきました。

よろしければご返事をいただきたいのですが、よろしくお願いします。
                              
 小村 知史(コムラ トモフミ)

513:デフォルトの名無しさん
08/12/16 07:51:13
>>401-512
オヤスミ…
  <⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄


514:デフォルトの名無しさん
09/03/07 17:31:12
URLリンク(www.cosmicbreak.jp)
このネトゲはクライアントがjavaとOpenGL、データベースがpostgleSQLで動いてるらしい。
javaって意外と速く動くんだね

515:デフォルトの名無しさん
09/03/24 17:42:22
スルー推奨

516:デフォルトの名無しさん
09/03/24 21:11:43
おまえを


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch