Path: ccsf.homeunix.org!ccsf.homeunix.org!news1.wakwak.com!nf1.xephion.ne.jp!onion.ish.org!onodera-news!newsfeed.media.kyoto-u.ac.jp!oix.u-ryukyu.ac.jp!u-ryukyu.ac.jp!ie.u-ryukyu.ac.jp!gama.is.tsukuba.ac.jp!yas From: yas@is.tsukuba.ac.jp (Yasushi Shinjo) Newsgroups: fj.sys.mac.os-x Subject: Re: Running JCTerm on MacOSX Date: 12 Nov 2003 10:15:21 GMT Organization: Institute of Information Sciences and Electronics, University of Tsukuba Lines: 83 Message-ID: References: NNTP-Posting-Host: kirk.hlla.is.tsukuba.ac.jp X-Trace: gama.is.tsukuba.ac.jp 1068631678 15984 130.158.85.129 (12 Nov 2003 10:07:58 GMT) X-Complaints-To: usenet@gama.is.tsukuba.ac.jp NNTP-Posting-Date: 12 Nov 2003 10:07:58 GMT In-reply-to: maeda-news@ialab.is.tsukuba.ac.jp's message of 12 Nov 2003 10:28:40 +0900 Xref: ccsf.homeunix.org fj.sys.mac.os-x:170 新城@筑波大学情報です。こんにちは。 In article maeda-news@ialab.is.tsukuba.ac.jp writes: > > % java -classpath ../jsch-0.1.8/src:./src com.jcraft.jcterm.JCTerm > > java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random > ./src/com/jcraft/jsch/jch/Random.class は存在するのでしょうか? あ、これは存在しませんでした。javac com/jcraft/jsch/*.java はしたのですが、その子供までは javac していませんでした。そ の部分を javac *java して Random.class を作るとRandom 云々の エラーは消えましたが、状況はあまり変りません。 In article maeda-news@ialab.is.tsukuba.ac.jp writes: > (2) HostBasedAuthenticationをしようとして,特権ポートがbindできない. root でやってみても、この通りです。メニューから接続に行くと こうなります。 ------------------------------------------------------------ # java -classpath ../jsch-0.1.8/src:./src com.jcraft.jcterm.JCTerm java.net.BindException: Can't assign requested address at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331) at java.net.Socket.bind(Socket.java:472) at java.net.Socket.(Socket.java:289) at java.net.Socket.(Socket.java:119) at com.jcraft.jsch.Session.connect(Session.java:165) at com.jcraft.jcterm.JCTerm.run(JCTerm.java:216) at java.lang.Thread.run(Thread.java:554) ------------------------------------------------------------ この部分のソース・プログラムを見てみました。 ------------------------------------------------------------ public void connect() throws JSchException{ ... if(proxy==null){ ... if(socket_factory==null){ if(timeout==0){ 165: socket=new Socket(host, port); } else{ ... new Thread(new Runnable(){ sockp[0]=new Socket(host, port); ... ------------------------------------------------------------ まあ普通ですよね。しかし、上のバックとレースを見ると、 Socket() (クライアント側)なのに、bind しているということにな ります。何か変な感じ。サーバ側なら bind は、必須として クライアント側ではやらなくてもいいはずなのに。 ktrace で確認するとたしかに bind(2) していました。 ------------------------------------------------------------ 2313 java CALL socket(0x1e,0x1,0) 2313 java RET socket 11/0xb 2313 java CALL listen(0xb,0x1) 2313 java RET listen -1 errno 49 Can't assign requested address 2313 java CALL close(0xb) 2313 java RET close 0 2313 java CALL socket(0x1e,0x1,0) 2313 java RET socket 11/0xb 2313 java CALL bind(0xb,0xf06bc560,0x1c) 2313 java RET bind -1 errno 49 Can't assign requested address 2313 java CALL shutdown(0xb,0x2) 2313 java RET shutdown 0 2313 java CALL close(0xb) 2313 java RET close 0 2313 java CALL write(0x2,0xf06b8160,0x36) 2313 java GIO fd 2 wrote 54 bytes "java.net.BindException: Can't assign requested address" 2313 java RET write 54/0x36 ------------------------------------------------------------ > examples/READMEによると,CLASSPATHの設定が必要みたいですが,これは行なっ > てみましたでしょうか? java -classpath ではなくて setenv しても同じでした。 なんなんでしょうね。 \\ 新城 靖 (しんじょう やすし) \\ \\ 筑波大学 電子・情報       \\