Java ネットワークプログラミング 【教えて!】
at TECH
1:じぇいそん
04/06/03 14:00
ネットワークプログラミング相談室ではいろいろな言語の質問が混ざっているようなの
で、 Java 用にスレを立ててみることにしました。
Java によるTCP/IPソケットプログラミング、
ネットワークサーバーの構築、RMI 、JINI 、
分散コンピューティングなどについての技や
プログラミングついてみんなで話し合いましょう!!
関連スレ:
ネットワークプログラミング相談室 Port9 スレリンク(tech板)
2:デフォルトの名無しさん
04/06/03 14:03
2げと
3:デフォルトの名無しさん
04/06/03 14:20
アプレット+CGI とか
jsp+SQL とか
ネットワーク部分はほとんどどうでもいいような質問だらけになると思う
4:デフォルトの名無しさん
04/06/03 14:54
ネットワークプログラミングはネットワークが分っているのかどうかが一番大事。
言語はあまり関係ない。
5:デフォルトの名無しさん
04/06/03 14:58
>>4
いや、RMIとかは他の言語にはない特殊なテクノロジーだろ。
他にもJavaにはたくさんのおもしろいコンポネントがあると思う。
ただ、それらについての日本語ドキュメントが少ないだけ
6:デフォルトの名無しさん
04/06/03 15:05
>5
serializeとdeserializeが出来れば別にJava出なくとも実現可能な技術だと思うが
7:デフォルトの名無しさん
04/06/03 15:08
>>6
それができないから特殊なんだろ? JavaはOOなんだから。
8:デフォルトの名無しさん
04/06/03 15:11
1がドキュンだということだけはよく分ったよ
9:デフォルトの名無しさん
04/06/03 15:22
日本語ドキュメントが少ないからどうしたってんだ
10:デフォルトの名無しさん
04/06/03 15:48
CORBA, IIOPはどうするんだ?
Servletの話ばかりになったりしないか?
11:デフォルトの名無しさん
04/06/03 15:53
Servletは板違い。
12:デフォルトの名無しさん
04/06/03 16:02
>>8はドキュソ
13:デフォルトの名無しさん
04/06/03 16:06
マターリいこうよ(´ー`)
14:にやこう ◆Es3JBt9s5c
04/06/03 16:08
o
/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に /
/ (・∀・)ニヤニヤしますた /
/ /
/ にやこうより /
/ /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / / (・∀・ )
( )つ ⊂( )
(__)_) .(_(__)
15:デフォルトの名無しさん
04/06/03 16:19
スレリンク(tech板)
こちらへどうぞ。
16:デフォルトの名無しさん
04/06/03 16:23
削除依頼完了
17:にやこう ◆Es3JBt9s5c
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:デフォルトの名無しさん
04/06/04 00:45
その昔、JAVAでネトしゅーてぃんぐ対戦ゲーを作ったが
そのときのコードでいいなら晒してやるぞ
あの時は果てしなく無知だったから
56kモデムでもLAN並のスピードがでると確信してまつた
出来上がったのはモデム同士では1秒で1フレーム動くか動かないかの代物ですたよ ええ。
さげとくね
23:デフォルトの名無しさん
04/06/04 01:13
おー、晒してクレー
24:デフォルトの名無しさん
04/06/04 14:21
晒そうか・・・
25:デフォルトの名無しさん
04/06/07 15:20
激しくキボンヌ!
26:デフォルトの名無しさん
04/06/13 01:21
あげ
27:デフォルトの名無しさん
04/06/24 20:40
おい、javaたん。
28:javaたん
04/06/24 21:01
はいっ☆
29:デフォルトの名無しさん
04/06/29 21:43
インターネットエクスプローラーの、
HTTPリクエストヘッダのUser-Agentの文字列(製品トークン)を
誰か教えてくださいませ。
30:デフォルトの名無しさん
04/06/29 21:49
>>29
なんでこのスレで・・・
31:デフォルトの名無しさん
04/06/29 21:58
クラスタ化の手順を教えて。
32:デフォルトの名無しさん
04/06/30 22:45
まず、サーバを2台買います。
33:デフォルトの名無しさん
04/07/01 05:36
>>32
借りてきちゃだめですか?
34:デフォルトの名無しさん
04/07/03 10:21
良い質問です。
借りてきてもいいですが、片っ方だけ先に返さなければならないなんてことにならないように十分注意する必要があります。
35:デフォルトの名無しさん
04/07/03 20:07
ぱくっちゃだめですか?
36:デフォルトの名無しさん
04/07/05 18:52
AirProxy
URLリンク(webclub.kcom.ne.jp)
すごいです。
37:デフォルトの名無しさん
04/09/19 18:06:13
Javaでステルススキャンするにはどうやったらよいのでしょうか?
38:デフォルトの名無しさん
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:デフォルトの名無しさん
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【大歓迎】
スレリンク(tech板)l50
44:デフォルトの名無しさん
04/10/07 22:46:47
>>43
そっちに行ったら板違いじゃないか?、とか言われたもので・・・orz
もう一度そっちに行ってみます。
45:デフォルトの名無しさん
04/10/08 00:27:07
>>42
普通無理です。
ルータにログインしてIPを表示する箇所を解析などして、ルータ自身から取得しましょう。
46:デフォルトの名無しさん
04/10/08 09:39:21
>>45
ルータにログインする必要はないだろ。
arp とか traceroute とか使えば抜けるんじゃないか?
47:デフォルトの名無しさん
04/10/08 20:25:52
>>46
どうやって?
48:デフォルトの名無しさん
04/10/09 14:05:50
>>46
無理です。
よく考えろヴォケ
と言っておきます。
49:デフォルトの名無しさん
04/10/09 20:18:37
>>42
URLリンク(checkip.dyndns.org)
ここにアクセスするといいよ
50:デフォルトの名無しさん
04/10/09 22:05:53
ネットワークの設計・構築・運用などに興味があるのですが、
プログラミング出来ないとだめですか?
設計したり、配線つないだり、設定したり、運用したり、こういうのには興味がわくのですが
プログラミングはどうもあんまりなんですが・・・。
51:デフォルトの名無しさん
04/10/10 00:50:05
運用だけならバカでも大丈夫だよ
ある程度UNIX使えれば
Javaスレで質問する意図がわからないけど
52:42
04/10/11 07:15:21
今ネットワークプログラムを作ってて、クライアントのリモートIPを取得する必要があったんです。
グローバルIPを直接もつPCにサーバプログラムを置き、クライアントからソケット接続して、socket.getInetAddress()でいけました。
お騒がせしましたm(_ _)m
53:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/21 11:58:36
ScriptToAppletの署名が同じパッケージ内の他のクラスと違うよ、といってるわけだが、
署名されてないのがあるんでないの?
56:54
04/10/24 23:16:00
>>55
>Formの値をファイル出力は不可能なのでしょうか?
解決しました。
エラーの根本原因は分かりませんでしたが。
(他の原因不明のエラーもあったため、別の組み方を試みたため。)
57:デフォルトの名無しさん
04/10/30 11:52:43
このスレッドと出会って初めてRMIについて知った。
58:デフォルトの名無しさん
04/10/30 12:00:17
セキュリティポリシーが良くわからないです。
漠然と「セキュリティポリシーが良くわからない」とか言ってる人にお勧めできるサイトを教えてください。
59:デフォルトの名無しさん
04/10/30 19:36:56
jiniってグローバルIPを割り当てられていないクライアント同士をインターネットを介して接続する事がてきる技術のようだけど、
ルーターがjiniに対応して無いと使えないような気がする。
でもjini対応のルーターなんて見たこと無いし・・・。
60:デフォルトの名無しさん
04/11/01 18:56:19
javaのネットワークプログラミングが簡単だなんて本当か?
nioの多重化I/OとかrmiのカスタムソケットとかSSLとか大丈夫なのか?
みんな解ってないで言ってない?
みんなもっと悩みを共有したほうがいいぞ。お互い楽になろうよ。
61:デフォルトの名無しさん
04/11/01 19:11:13
かんたんなことをするのは簡単。
62:60
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:デフォルトの名無しさん
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:デフォルトの名無しさん
04/11/05 14:18:19
>>63-64
答え:「スレ違いです」もしくは「あぼーん」
66:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/05 07:52:13
いんでね?
75:Java質問スレから移動
04/12/11 10:43:24
サーバーを作っているのですが、
クライアントが接続してきて、Socketを取得して、
printWriter = new PrintWriter(socket.getOutputStream());
のようになっているとき、
クライアントが切断したことをどのように知ればいいのでしょう?
切断されているときにprintWriterに書き込んでもIOExceptionは発生しません。
自分が送信したデータが相手に届いたかどうか
確かめる方法があってもいいような気がするのですが。
76:75
04/12/11 11:12:36
移動前のスレで解決しました。
スレリンク(tech板:195番)
77:デフォルトの名無しさん
04/12/11 13:17:36
>>76
その回答は全然違うよ。
まあ、また戻ってくると思いますが・・・
78:デフォルトの名無しさん
04/12/11 14:34:52
・
79:デフォルトの名無しさん
04/12/11 14:35:48
。
80:デフォルトの名無しさん
04/12/11 17:36:28
>>75
checkError()した?
PrintWriter/PrintStreamは例外を無視するよ。
それが嫌ならWriter/OutputStreamのまま使え。
81:デフォルトの名無しさん
05/01/28 23:29:28
java5.0でSSLのNon-BlockingSocketが使えるようになるって話はどうなったの?
まだ結論出てないのかな?
82:デフォルトの名無しさん
05/04/08 04:21:52
age
83:デフォルトの名無しさん
05/04/09 08:53:55
クライアントsocketからサーバー接続中に、サーバーが落ちた場合の処理は、
クライアントのどこで記述されてるのでしょうか。
84:デフォルトの名無しさん
05/04/10 21:12:31
>>42
ADSLモデムにDHCP機能があるよ。
85:デフォルトの名無しさん
05/05/01 13:50:54
chachに書くだろ普通?
このスレはじめて見たけど
Javaで「なんとなくネットワークPG」組めるけど
TCP/IPについてわかっている人が組んでいる場合が少ないので
Java以前の話になっている
サーバ作る奴は
listen(Java内部),bind,acceptの順番と作用ぐらい勉強しましょう
86:デフォルトの名無しさん
05/05/01 13:51:18
catchに書くだろ普通?
87:デフォルトの名無しさん
05/05/01 17:21:39
catchに書くだろ普通?
catchに書くだろ普通?
catchに書くだろ普通?
88:デフォルトの名無しさん
05/05/02 00:23:21
listen, connect, accept じゃなくて?
89:デフォルトの名無しさん
05/05/02 02:05:26
chachに書くだろ普通?
90:デフォルトの名無しさん
05/05/02 22:48:07
さて、送信ウインドウの話からしようか
91:デフォルトの名無しさん
05/05/02 23:20:31
女の自宅ライブチャットの広告うぜーキモイ
92:デフォルトの名無しさん
05/05/02 23:22:31
以上でTCP/IP送信ウインドウの話は終わりです
93:デフォルトの名無しさん
05/05/02 23:37:21
chachに書くだろ普通?
94:デフォルトの名無しさん
05/05/02 23:43:38
>>88
bindはどこにいったんだ?
Javaばかりやってるからそうなる
95:デフォルトの名無しさん
05/05/03 00:25:34
TCP/IPの3ウェイハンドシェークという見方をすると
listen, connect, acceptで
サーバ側で行うこと、という見方だと
bind, listen, acceptだな
96:デフォルトの名無しさん
05/05/03 11:50:00
Javaでもbindあるじゃん
97:デフォルトの名無しさん
05/05/03 14:36:03
listenは中
98:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/05/05 20:38:10
サーバを先に起動しておいてから
クライアントを起動する
もしくは、アドレスがソースコードコピペの場合書き換える必要があるがそれをやっていない
100:デフォルトの名無しさん
05/05/05 21:33:24
>>99
ちゃんとサーバーを先に起動してますし、
アドレスもちゃんと調べて書き換えてます。
もしかしてノートンアンチウィルスを起動してることとか
って関係ありますかね?
101:98
05/05/05 21:38:52
あと、サーバー側のプログラムをコンパイルすると以下のような警告が出るんですが
これってどうしたらいいですか?
注: server.java の操作は、未チェックまたは安全ではありません。
注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてくださ
い。
102:デフォルトの名無しさん
05/05/05 21:52:46
それは、ノートンのログ見ればわかるっしょ
使ったこと無いからおれはノートン知らんけど
ノ-トン切って試してだめならまた報告すればいい
で、ほんのソースコードってWeb上にあるものならば検証してもいいけど
>あと、サーバー側のプログラムをコンパイルすると以下のような警告が出るんですが
きみ、JDK5つかってるのかなぁ
でもって、その本のソースは古い(1.4?)とか・・・
↓に回避方法が書いてあるけど
いってることはおんなじで
-Xlint:unchecked オプションつければいい
URLリンク(java.sun.com)
-deprecation
推奨されないメンバやクラスが、使用またはオーバーライドされるたびに説明を表示します。
-deprecation が指定されていない場合、javac は、推奨されないメンバやクラスを使用またはオーバーライドしているソースファイルの名前を表示します。
-deprecation は -Xlint:deprecation の省略表記です。
103:デフォルトの名無しさん
05/05/05 22:31:09
>>100
アンチウィルスはしらんが、ファイアウォールを起動してるならもろ関係あるだろうな。
104:98
05/05/05 22:55:35
僕もファイアーウォールが関係してるのではないかと思ったので
一応ノートンのオートプロテクトを無効にして実行してみたんですが
やっぱり同じ結果でした
んー・・・まったく原因がわからない・・・
105:デフォルトの名無しさん
05/05/05 23:07:07
それってサーバ・クライアント同じマシン上だよね
Tomcatとかって動かすと大丈夫なの?
106:デフォルトの名無しさん
05/05/05 23:47:46
>>98
じゃあ間にルータが挟まってて、そこで12345を通さないようになっている。
もしくは、同じマシン上でサーバとクライアントを起動しているなら、127.0.0.1で接続してみ。
107:98
05/05/06 01:40:13
>>106
いけました!
アドレスを127.0.0.1にしたら実行できました!
ありがとうございました
でも理屈がさっぱりわかりません
127.0.0.1っていったいなんなんですか?
108:98
05/05/06 01:48:33
調べてみたらこれって自分自身を示すアドレスってことなんですね。
でも、どうしてもルータをはさんだマシン間でこのプログラムを実行したい場合は
どうすればいいんですか?
109:デフォルトの名無しさん
05/05/06 01:53:16
IPマスカレードやらポートフォワーディングやらでぐぐってみれば分かるんじゃないだろうか
110:98
05/05/06 02:34:58
調べてみたんですがなんで127.0.0.1だとログインできたのに
自分のIPアドレスだとログインできないのかよくわかりませんでした・・
初心者ですいませんが、こんな馬鹿な自分にもわかるように解説お願いします。
111:デフォルトの名無しさん
05/05/06 04:21:23
詳しくないんで間違ってても罵らないでくださいです
どうやら>>106のを読むとルータを通してるようですが、
"自分のIP"だとおもってるのが実はルータのIPだったりしませんか?
プライベートIP(多くの市販ルータでは192.168.なんとかがDHCPで割り振られると思います)
にアクセスしてみたらどうですか?
112:デフォルトの名無しさん
05/05/06 04:21:49
すまそ>>108だった
113:98
05/05/06 04:56:56
>>111
僕の場合、診断君のREMOTE_ADDRってやつをつかいました
あと念のためipconfigでしらべたIPアドレスも使ってみましたがだめでした
114:デフォルトの名無しさん
05/05/06 06:55:40
診断君とか言うの探して見てみたらルータ(兼webサーバ)のIPだったよ
とりあえず自分のネットワーク構成くらいきちんと晒してよ
115:98
05/05/06 06:59:03
ネットワークの勉強始めようと思ってるにもかかわらず
自分のネットワーク構成がよくわかってなくて申し訳ないんですが
マンションで光ケーブルのブロードバンド100Mってこと以外わかりません
これじゃだめですよね?
116:デフォルトの名無しさん
05/05/06 07:08:18
ほしいのは家の中の話だよ
ルータ通してその後どうなってるのか
117:デフォルトの名無しさん
05/05/06 07:10:23
接続先のポート番号を指定して
接続先のIPアドレス知る方法ってありましたっけ?
118:デフォルトの名無しさん
05/05/06 07:12:00
接続先のIPアドレスが分からないのにどうやって接続先のport番号を指定するんだ・・・
119:98
05/05/06 07:15:55
>>116
家の中は壁に元からついてるジャックからパソコンのLANジャックにLANケーブルを通じて
直結してます
120:デフォルトの名無しさん
05/05/06 07:18:42
>>118
DNSがあんだろ
121:デフォルトの名無しさん
05/05/06 07:43:24
122:デフォルトの名無しさん
05/05/06 08:10:19
>>120
すまんすっかりわすれてた
123:デフォルトの名無しさん
05/05/07 06:26:38
Javaやる前に、ネットワークの勉強すすめる。
とりあえずTCP/IPって知ってる?
124:デフォルトの名無しさん
05/05/07 12:34:38
>>123
ネットワークの勉強先やっていて
Javaの勉強したいやつはどうしたらいいの?
125:デフォルトの名無しさん
05/05/07 16:47:42
>>124
別にJavaの勉強がしたければ、すればええんちゃうの。とめるどころか賛成する。
でも、IPアドレスとかDNSとかDHCPとかルータとか知らないやつが、ネットワークのプログラムが組めるわけない。
原価計算知らないやつが原価計算のプログラムは組めないでしょ。いくらJava完璧でもね。
Javaはあくまで言語だからね。
くどく説明すると、あなたが英語完璧ぺらぺらだとしても、法律の知識がなければ法律の話はできないでしょ。
英語分からなければそもそも話すらできないけどさ。
ということで、両方すりゃあええんちゃうの?
126:98
05/05/08 02:26:02
だれか教えてください・・・
127:デフォルトの名無しさん
05/05/08 02:49:01
URLリンク(YahooBB220059252253.bbtec.net)
wwwwwwwwwwwwっwうぇwwwっうぇwww
wwwwwwwwwうぇwwwwwwwwwwwwwww
っうぇっっうぇうぇwwwうはっwwwおkwww
128:デフォルトの名無しさん
05/05/08 03:27:03
>>126
同一マシン上でテストするなら、ループバックアドレス(127.0.0.1)でテストするのが簡単でいいよ。
マシン外のネットワーク要件で問題が発生する事は皆無なので、純粋にネットワークプログラムに
集中できる。
「いや、実際にネットワーク環境でテストしたいんだけど」というならば、一つのホストでやること
自体にあまり意味がないように思う。素直に格安のマシンでも一台用意して、ちゃんと二台で
接続してテストした方が確実。
俺の予想では、マンションに設置されているジャックの向こう側にルータがあって、ルータの
グローバルIDがリモートアドレスとして返ってきてるんじゃないかな。で、そのルータは、
ポート12345へのアクセスを許可していないとか。
ジャックに指したらマシンにはどういうIPアドレスが振られる? 10.0.1.Xとか、192.168.X.Xとか
だったら、たぶんジャックの向こうに、君には手を触れる事も出来ないルータが存在する。
129:98
05/05/08 03:43:51
>>128
IPは192.168.・・・・でした。
つまりこれは自分のグローバルIPだと思ってたんですが
実際はルーターから割り振られてたホストIP?みたいなものだったんですね?
なんとなくわかりました。ありがとうございました。
130:98
05/05/08 03:48:33
また質問で申し訳ないんですが
さっきの話ではルータ側がポート12345へのアクセスを拒否してて
アクセスできないといわれましたけど
では逆に、ルータが許可しているポート番号を知る方法ってありますか?
131:デフォルトの名無しさん
05/05/08 03:49:13
>>129
これ参照
URLリンク(www.nic.ad.jp)
132:デフォルトの名無しさん
05/05/08 03:51:54
URLリンク(YahooBB219202220179.bbtec.net)
wwwwwwwwwwwwうはっwwww
wwwうはっwww
うぇwww
うはっwwwっうぇっうぇ
うぇwww
wwwwwwwwwwwwっ
おkwwwwww
133:デフォルトの名無しさん
05/05/08 03:55:55
>>130
URLリンク(www.atmarkit.co.jp)
134:98
05/05/08 05:45:00
訂正 ホストIP→プライベートIP
でした。すいません。
ところで、やっぱりどうしてもルータの外からアクセスしてみたいんですけど
どうしたらできますか?しらみつぶしにアクセス可能な
ポートの番号を探していったら見つかります?
135:98
05/05/08 05:54:39
番号適当に変えてたらできました^^;
初心者でどうもすいませんでした^^;
136:98
05/05/08 08:03:57
またまたアホ質問ですが
チャットシステムのプログラムってありますよね?
サーバー用のプログラムを自分のパソコンじゃなくて
レンタルサーバーの方で実行させたいんですけど
どうすればいいんですか?そういうのはCGI使わないとできないんでしょうか?
初心者なしつもんですいません。
137:デフォルトの名無しさん
05/05/08 08:09:44
>>129
>IPは192.168.・・・・でした。
ってかいてあるあたりが、ネットワーク理解していないかも
そんなの隠さなくても大丈夫ですから
138:デフォルトの名無しさん
05/05/08 08:13:13
URLリンク(i60-42-159-46.s02.a043.ap.plala.or.jp)
おkwwwうはっwwwwwwwwwwwwwwwwwwwwww
おkwwwおkwwwwwwwwwっおkwww
wwwwwwっうぇうぇwwwおkwwwうぇwww
139:98
05/05/08 08:51:53
>>137
いや、それは>>128さんのレスの内容にあわせただけですけど・・・
140:デフォルトの名無しさん
05/05/08 09:10:32
>>136
共用鯖だと Java オッケーな所少ないんじゃないかな
Java じゃなくても、チャットは負荷掛かるから嫌われると思う
かといって専用鯖は高いしね
どうしても Java でやりたいなら Applet かな
アホな質問とは思わないけど、もう少しネットワークの勉強をした方が良いと思う
141:デフォルトの名無しさん
05/05/08 09:10:46
>>130
ルータの管理者に聞け
>>135
とってもバカなことしてそうな予感がするけど、ユーザが勝手に使っちゃいけないポート番号があるのは知ってるよね?
>>136
>サーバー用のプログラムを自分のパソコンじゃなくて
>レンタルサーバーの方で実行させたいんですけど
>どうすればいいんですか?そういうのはCGI使わないとできないんでしょうか?
ネットワークの知識が無いのは分かったけど、システム開発とかプログラミングの知識も無いみたいだね。
レンタルサーバであれ、自分でインターネット上にサーバ立てるのであれ、チャットのサーバのソフトを作ればいいだけ。
別にそれがjavaでもCでもperlでも言語は何でもいい訳です。
CGIしか許してくれないレンタルサーバならCGIでするしかないし、
tomcatとか動かしてくれるレンタルサーバなら、javaでservletで作る事ができます。
もちろん、自作のCGIすら使わせてくれないレンタルサーバなら、自作のプログラムを動かす事自体ができません。
それだけの話。
>>139
それなりに社内LANを張り巡らせている企業でないのであれば、プライベートアドレスはあばしてもさして影響ない。
あばさないほうがいいと思うけど。
142:98
05/05/08 11:31:36
>>140
>>141
両方ともご丁寧なレスどうもありがとうございました
とても参考になりました。
もっと勉強してきます!
143:98
05/05/09 01:16:21
もう一度質問よろしいでしょうか?しつこくてすいません。
>>140
>どうしても Java でやりたいなら Applet かな
自分ははじめからappletの事を言ってたんですが
チャットサーバーのプログラムをアプレットで実現するには
どうしたらいいんでしょうか?
サーバー側のプログラムをアプレットにしてサーバーに
保存しておくだけで出来るんでしょうか?
144:デフォルトの名無しさん
05/05/09 01:47:31
アプレットはサーバになれないと思うんだが・・・・・・
145:98
05/05/09 02:40:31
>>144
ああそうなんですか。
やってみたんですがどおりで出来なかったわけだ・・・
うーん。となるとサーバープログラムをサーバー側で実行する方法が
まったく見当つかなくなってしまった・・・。
自分の使ってるサーバーは↓なんですが
URLリンク(isweb.www.infoseek.co.jp)
これは一応チャットが使えるみたいなんで出来ると思ったんですが・・・
146:デフォルトの名無しさん
05/05/09 05:43:03
>>145
Javaが使えるとは書いてない気がするんだが・・・
147:デフォルトの名無しさん
05/05/09 05:55:18
>>146
javaが使えるサーバーじゃないと
javaつかえないんでしたね^^;
javaアプレットが使えるから勘違いしてました・・・
どうもありがとうございました
148:デフォルトの名無しさん
05/05/09 06:25:26
URLリンク(pl070.nas931.nara.nttpc.ne.jp)
おkwwwうはっwwwうぇwwwwwwwww
wwwwwwwwwwww
おkwww
wっうぇwwwwwwwwwwwww
おkwwwっうぇwwwwwwwwwwww
149:デフォルトの名無しさん
05/05/09 09:44:27
クライアントをappletにして、サーバはCで書いたらええやん
150:デフォルトの名無しさん
05/05/21 14:50:50
>>149
同じ意見だ でも、サーバはPerlしか使えないと思う
最初だけサーバに接続し、自分が接続したことをサーバのファイルかデータベースなんかに書いておく
で、他に接続している人が書いてあったらAppletから直接そいつのアプレットに接続すれば
サーバにほとんど負荷かけず、とりあえず1vs1のチャットは出来そう。
署名つけないといけないけど、ここまで完成したら方法は教える
待っている
151:デフォルトの名無しさん
05/06/06 11:53:33
俺もJavaネットワークプログラミングっていう本読んで勉強して
今では普通にチャット作れるようになったよー。
あれのサンプル動かすにはサーバでJavaが使えないとだめなんだよねー。
先にそれ書いとけよって話だけどねー。
そのせいで98みたいにはまった人多そうだ。
最近は専用サーバも安くなってるからお金に余裕があれば
専用サーバ借りた方がいいと思うよ。
知り合いに専用サーバ借りてる人がいれば貸してもらってもOKかな。
サンプルさえ動けばあとはそれをいじってればわかるようになると思うよ。
152:デフォルトの名無しさん
05/06/06 13:52:38
??
153:デフォルトの名無しさん
05/06/06 14:05:24
煽ってるわけじゃなくて純粋に疑問なんだけど、
タイトルが「Javaネットワークプログラミング」の本なのに、
先に「サーバでJavaが使える必要があります」って書いとけよと思ったのはなぜ?
Javaが動かないサーバでも、この本は役に立つと思ったの?
それとも「Javaが動かないサーバなんてない」って思ったのかしら。
鯖貸しの立場から、お客さんのこういう意識問題にはすごく興味があります。
また、最近なら常時接続が当たり前なので、自宅サーバってのも選択肢の一つですよ。
固定IPでなくてもDDNSって方法もありますから。
154:デフォルトの名無しさん
05/06/06 14:33:43
「Javaが動かないサーバ」って表現自体に抵抗があるな。
155:デフォルトの名無しさん
05/06/06 15:06:37
Javaの実行を認めていないサーバーってのが正確だよな
156:デフォルトの名無しさん
05/06/06 23:15:58
>>153
んー、CGIと同じようなものだと思ってたからかな?
専用サーバとか自宅サーバとかは一般人の関わるものじゃないという
思い込みがあったかも。サーバ≒共用サーバみたいな。
言われてみると「書いとけよ」っていうのは初心者のわがままかもしれないね。
157:デフォルトの名無しさん
05/06/10 09:41:15
PerlやPHPだって鯖で実行が認められてなければ使えないけどね。
158:デフォルトの名無しさん
05/06/10 15:47:42
そりゃそうだ
159:デフォルトの名無しさん
05/06/10 18:18:34
鯖がC#で書かれてて、クライアントがJavaなのかも。
160:デフォルトの名無しさん
05/07/20 15:38:44
javaでglidのシステム作ってるんだけど、
クライアントの自動配布をしたいんだ。
クライアントシステムの自動配布どんな感じに作ったらいいと思う?
最終的にクライアントの処理が終わったらクライアントを自分で自分を消去する感じにしたいんだぁ。
161:デフォルトの名無しさん
05/07/20 16:13:22
あげぽこ
162:デフォルトの名無しさん
05/08/01 19:25:02
スケジューラのスタンドアロンプログラムを作ろうと思っています。
言語はJavaかC#。
で、とりあえずスケジュールのマスタファイル(XMLか何か)を、インターネット上のどこかに置いておいて、
一方で自分のマシンにスケジューラのクライアントを置いて、クライアントを起動するとネット上からマスタファイル
を引っ張ってきて、そのファイルに記述されているとおりにクライアントアプリにカレンダー形式で予定などを表示する。
また、予定を追加するときはクライアントに表示されているカレンダー上で「予定を追加」などを選択し、予定を記入すると
記入した内容と日付が、ネット上のマスタファイルに書き込まれる。
このようにしておけば、家と会社の両方のマシンにクライアントアプリを入れておけば予定を共有できるし、Iアプリでも
作れば携帯からもおなじ予定を参照できる。
しかしここで問題があって、マスタファイルをどこに置くかという問題。ダウンロード&アップロードの機能があれば
いいのだが、FTPは無理。なぜなら会社はFTPポート遮断されてるから。じゃあ、Yahooとかのブリーフケースはどうか?
でもログインが必要。YahooのログインのHTMLを見てみたけど、なんかいろいろめんどくさそうなことしてる。
あ、あと予定の時刻が近づいたら30分前くらいにアラームがなってほしいので、クライアントアプリにした。
常駐ということで。だからWebアプリじゃむり。
つーわけで、どこかいいスペースないかな?
163:デフォルトの名無しさん
05/08/01 19:44:09
>>162
CGIでアップロードできる物を作れば良いんじゃない?
164:デフォルトの名無しさん
05/08/01 21:55:22
>YahooのログインのHTMLを見てみたけど、なんかいろいろめんどくさそうなことしてる。
所詮HTTPプロトコルでしょ
そのくらい書けない様じゃダメですよ
自作で無理ならJakartaの奴でも使ってみれば?
165:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/08/02 00:49:37
>>165
後学のためにNIO使ったServerのsourceのUP希望
167:デフォルトの名無しさん
05/08/02 00:51:02
>>162
データベースじゃダメなの?XMLに拘る必要があるの?
スケジュールなんて簡単にRDBで表現できるし、
それに貴方が1から設計・実装するより遥かに良い結果をもたらす。
一緒に仕事したくないタイプですね。
自己満足だと迅速に要件満たせませんし、満足してもらえない。
168:165
05/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
05/08/02 00:59:24
ヒントは与えた。
後は、自分で解決してください。
ソース公開はちょっとマズイ。
もう既にCopy Rightなので。
170:デフォルトの名無しさん
05/08/02 03:19:04
自分のCopy Rightなら、公開する権利はあると思うけど?
171:デフォルトの名無しさん
05/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:デフォルトの名無しさん
05/08/02 13:13:09
java.nio.channels読んでるだけで使えるだろ。
要するにノンブロッキングモードが使えるようになったって事だ。
スレッド起こす手間がない分、ソースがすっきりするけど
デバッグ時にはけっこう混乱する。
Windowsでソケット使ったことあるやつならすぐかけるだろう。
173:デフォルトの名無しさん
05/08/02 13:56:19
まだコンピュータについての知識が少ないので
あまりわかりません。
java.nio.channelsってゆうのは、どこで見れますか?
Windowsのソケットも使ったことないのでよろしくおねがいします。
174:デフォルトの名無しさん
05/08/02 15:12:02
とりあえずAPIよんどけってことです。
URLリンク(java.sun.com)
ここの左上のフレームでjava.nio.channelsクリックしたら読める。
で、Socketに関してだから
URLリンク(java.sun.com)
Socketクラスがわかっているなら、APIに書いてあることもわかると思う。
わからなければとりあえずSocketで組みなさい。
いろいろ出てきたクラス名でググるだけでも十分勉強になると思うが。
175:デフォルトの名無しさん
05/08/02 22:42:07
162です。
>163
ありがとうございます。CGIでいいんですね。
いままでJava Servletばっかりやってたので、webアプリ=Servletみたいな思い込みがありました。
CGIだったら無料で使えるところがたくさんありました。
>167
とりあえず、サーバー自分でたてるとお金かかりますしねー。
無料レンタルサーバーでDB使えるところってあるんだろうか?
DB+Javaが一番慣れてるんで楽なんですけどね。
あ、ちなみに自分で一人で使うプログラムを暇つぶしに作ろうという程度です。
仕事ではないです(汗)
176:デフォルトの名無しさん
05/08/02 23:22:37
基本的な質問ですいません。
WEBページに複数のアプレットを貼り付けた状態で、
アプレット間で情報をやり取りさせたいのですが、どんな
方法を使えば実現可能でしょうか。
177:デフォルトの名無しさん
05/08/03 00:00:26
>>176
getAppletContext().getApplet();
詳しくはググれ
アプレット間通信でググるとかなり三項になると思うが。
178:デフォルトの名無しさん
05/08/03 00:30:44
>>177
ありがとうございます。ちなみにこれって異なるサーバ上に
配置されたアプレット間ではムリですよね。
今からやってみますが。
179:デフォルトの名無しさん
05/08/03 14:01:52
HttpsURLConnectionを使用してWebサーバにリクエストを投げるプログラムを作っています。
サーバから無効なクライアント証明が返ってくると、IEではダイアログが表示されて
そのまま表示できたりしますが、作成しているプログラムではgetResponseCode()のタイミングで
SSLHandshakeExceptionがthrowされ続行できません。
無効なクライアント証明を無視し、Exceptionを起こさずに処理を続ける方法をご存じないですか。
180:デフォルトの名無しさん
05/08/03 18:11:30
Javaは邪魔だなあ
181:デフォルトの名無しさん
05/08/04 19:16:34
〃∩ ∧_∧
⊂⌒( ・ω・) はいはいわろすわろす
`ヽ_っ⌒/⌒c
⌒ ⌒
182:デフォルトの名無しさん
05/09/09 12:56:39
>>179
サーバがクライアント証明を必要としているのです。setNeedClientAuth(true)
クライアント側じゃどうしようもないです。
サーバがクライアントモードを許容するようならやってみてください。
183:デフォルトの名無しさん
05/10/02 17:46:32
JavaでDNSサーバーを記述する方法を解説したページってありますか?
184:デフォルトの名無しさん
05/10/02 17:53:19
>>165
Select不安定じゃない?
185:デフォルトの名無しさん
05/10/02 18:24:20
>>183
サーバとDNSの仕組みは関係ない
単にacceptするサーバの処理内容にDNSのサービスをするようにすればいい
186:デフォルトの名無しさん
05/10/02 18:36:35
>>185
DNSってUDPじゃなかったか?
187:デフォルトの名無しさん
05/10/02 18:40:08
だからなんでしょう
UDPだろうとTCPだろうと
サーバの仕組みは変わんないけど・・・
188:デフォルトの名無しさん
05/10/04 01:38:10
>>187
UDPでAcceptってUNIXドメインソケットですか?
189:デフォルトの名無しさん
05/10/04 01:56:16
>>187
横やり済まんけど変えなあかんよ。
不達監視してリトライとか受信データグラムの並び替えとかTCPでは勝手にやってくれてることを
確実にやらんといかんので。
ストリーム覗いてるだけでいいTCPって偉大だ。。。
190:デフォルトの名無しさん
05/10/04 09:32:07
>>188
それUDPちがうやん…
191:デフォルトの名無しさん
05/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オブジェクトに問題があるわけではないんですよね?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4983日前に更新/153 KB
担当:undef