【初心者】Java質問・相談スレッド98【大歓迎】
952 :
951:2007/03/04(日) 02:22:08
少し進展?しました。
どうやら
tokenizer.parseNumbers();
を追加すると、'-'を文字列の先頭文字として
認識できないことがわかりました。
tokenizer.parseNumbers();
を追加した状態で'-'を文字列の先頭文字とすることは
できないのでしょうか?
よろしくお願いします。
API ドキュメントを見る限り無理っぽいが。
まあ仕組み考えたらparseNumbers使ったら-が文字なのかマイナスを表すのか分からなくなるから無理だわな
何がしたいの?
javaCCで字句解析機吐くか自作すればいい。トークナイザ使う必要もなさそうな気がする
955 :
846:2007/03/04(日) 06:10:43
>>849 >>850 お返事が遅くなって申し訳ありません。
どちらも特に変化無く、物は試しとユーザーを「sa」にしたらコネクション作れました。
で、ユーザー名を元に戻すと「Access denied for user」。
ユーザー名もパスワードもコピペで作ってるんだけどなぁ……。
ちなみにホスト名は「localhost」になっているので、他のサーバにアクセスしにいったりはしていないようです。
うーむ、なぜだろう……。
はじめまして
通信ソフトを作っていて、文字のやりとりだけでなくzipファイルなどのやりとりもできるようにしようと思いつき、送るストリームの先頭にタグのようなものを付けて区別しようと思いました。
しかしInputStreamなどからまずタグを取り出すと言う操作のしかたがわかりません。
タグはStringで持たせようと思っています。
どうか教えていただけないでしょうか。
プロトコルって知ってるか?
958 :
956:2007/03/04(日) 10:07:31
>>957 一応少しはわかっているつもりです。
今回はSocketを使って作っておいて、後にP2P化しようと思っているので
見当違いなことをいっているのなら指摘してもらえるとありがたいです。
>>958 SocketとP2Pは直行する概念だと思うんだが・・・
だいぶ「つもり」のようだなぁ・・・
ストリームを送る、という言葉がちょっと違和感ある
JavaのStreamインターフェースとは別の概念で使ってるよな?
960 :
956:2007/03/04(日) 10:30:34
>>959 そうですか・・・(´・ω・`)
将来的にはJxtaに移行したいなと思っていますが、今は標準のSocketを使うつもりです。
ストリームというのはあくまでもSocketからgetInputStreamなどで処理しないといけない(?)と思っているので、
ソフトのなかでInputStreamを使うということです。
朝からすみません
そんな状態でこんなところで質問してないで、本でも読んで勉強する方が早いぜ。
近所の本屋に行くとかamazonあたりで探すとかしてみれ。
963 :
956:2007/03/04(日) 10:52:14
>>961たしかにそうですね。
本を探してみます。返事をしてくれた方がたありがとうございました。
964 :
デフォルトの名無しさん:2007/03/04(日) 11:20:01
>>953,954
お返事ありがとうございます。
・parseNumbersを指定しても"-"単体では通常文字として認識すること
・文字は複数の属性(通常、文字列、数値構成文字等)をもてること
から何とかしてくれても良さそうな気もするのですが、
現状の実装ではどうしようもなさそうですね。。。
>>952 面倒だからJakarta OROかjava.util.regex使えよ
>>955 WindowsXPで使用しているアカウントが
関係あったりしないよな。
my.iniなどの設定は大丈夫かね?
SQLのgrantでちゃんと権限与えてる金?
>>956 通信ソフトってことはTera TermやPuttyのような
ソフトのことを言うのだな?
だが、そういうの(ファイル転送)って普通、FTPでやるもんじゃないのか?
FFFTPやWinScpのようなソフトウェアをJavaで自作する、みたいな。
もしそういうことであれば、Jakarta Commons FTPやJakarta Commons VFS, Jschを
使えば簡単にできるとは思う。
968 :
956:2007/03/04(日) 15:09:54
>>967 返答ありがとうございます。
今回作ろうとしているのは、Socketを使って中央サーバーを持たないチャットをつくり、
その拡張機能としてzipなどのいろいろな形式のファイルも送れるようにしたいと思っています。
それで今、送るbyte列の先頭にファイルの種類と識別文字を付けて送り、その識別文字を使ってファイルの種類の文字列を取得して、その文字列によって残りのbyte列からファイルを取り出すと言う操作を作ろうとしているのですが、
どのようにしてファイルを取り出せば良いのかわかりません。
どうか教えていただけないでしょうか。
969 :
デフォルトの名無しさん:2007/03/04(日) 15:35:37
>>965 そうですね。
parseNumbersを有効にせずに、すべて文字列として取得した後に
regexで数字を取り出すことにしてみます。
ありがとうございました。
>>968 何というか、その流すデータのフォーマットを考えるところから
そのアプリケーションを作る、という作業だと思うんだが・・・
そういう意味で、
>>957はプロトコルって言ってるんだろうけど
それが理解できないのは辛いんじゃないか?
個人的には、Streamの上に、ObjectStreamを乗せて
通信データのキャリアオブジェクトを流す、
それが分かりやすいかな、と。相手がJava限定なら。
か、XMLEncoder,Decoderと組み合わせて、XMLベースで流すか。
バイト列単位のフォーマットは、扱いが難しいよ、
せっかくパケットの分割集約なんかはTCP層がやってくれるんだから
それはやらなくていいと思う
971 :
956:2007/03/04(日) 16:48:34
>>970 取り合えずここのアドバイスがわかるようになるまで勉強します。
皆さんどうもありがとうございました。
972 :
デフォルトの名無しさん:2007/03/04(日) 17:20:40
num = str[i] - '0';
↑'0'を引いて何してるんデスカ?
>>972 全角数字一文字から 10進数の一桁 に変換してるとか。
974 :
デフォルトの名無しさん:2007/03/04(日) 17:31:38
>>968 結局P2Pの通信ソフトにするのか、
それじゃFTPとかSSHとかtelnetとか
関係ないな。
サーバ介さずあくまでP2Pにこだわるんだな?
それならSOBAはどうだろう? EclipseでもSobalipseというのがあって
Eclipseスレに作者が直接書き込んでいたこともあったな。
だがあとからはSobaをつかわなくなったとか。
>>970 それは、P2Pでもできるのか。
P2Pでやりたいといってるようだから、どうしても、JXTAが頭から離れない。
XMLEncoderの説明までするなら、キーワードRMIも出してもいいような気がする。
つうか、XML垂れ流しだとファイル丸見えでは? Serializableで少しでも見づらくしてもいいのでわ
と思ってみた。
javax.mailを使用してメール送信したいんですが、
エラーになって送信できません。
エラーはSMTPの応答コード421のサービスが利用できない旨のエラー。
送信に使用するアカウントが生きていることは確認してます。
で、ここから質問なんですが、
OSがLinuxの場合、OSでなんらかの定義(メールやSMTP関係、25番ポート開放)をしていないと
エラーになるものなのでしょうか?
>>975 暗号化はまずは切り離して考えた方がいいと思うぞ。
>>976 そのマシンから、telnet でSMTPサーバの25番ポートを叩いて
SMTP直接手打ちで問題が出ないかをチェックした方がいい
>>977 telnetでエラーがでてます。
421 Sorry, you must log in before using this server.
ここのサーバーはpop before smtpらしいですが
関係あるのかな・・・。
980 :
デフォルトの名無しさん:2007/03/04(日) 21:20:51
pop before smtpだからエラーになってるんですか。
コア部分は他人が作ったクラスを使用しているので、
対応してなかったんだと思います。
とりあえず自作するか、修正してもらうかはまた決めます。
ありがとうございましたorz
どうしてもつくれないアルゴリズムがあるので助けてください
1円〜999円のお買い物をするときに
はらう硬貨の枚数とお釣りの硬貨の枚数の和が最小になる払いかたで
払う金額と持っている硬貨枚数がいかなるときでも対応できるアルゴリズムがわかりません
1000円札は1枚は持っています
硬貨は1.5.10.50.100.500です。お札は1000のみです
すみませんマジお願いします
983 :
デフォルトの名無しさん:2007/03/04(日) 22:44:13
>>982 宿題なら宿題スレに池
宿題スレで昔見たことあるきがするが
>>982 その程度なら全探索空間調べても問題なさそうな気がするが。
>>982 Javaである必要性が明記されてないからスルー
>>982 小さいコインから使っていく
そのときその次のコインの倍数になるとこまで小さいコインがあるかどうかがポイント
>>976 sendmailやmailコマンドでメール送信できるのか
試してみたか?
Javaのバージョンが古いと動かないこともある。
1.4だったJavaを Java 5にアップグレードしたらJava Mailの
送信に成功したことがある。
>>982 オサイフケータイを使えば硬貨枚数は最小になる。
989 :
デフォルトの名無しさん:2007/03/04(日) 23:40:14
万引きしても(ry
わからなさそうなので全探索します
/ / \
____/_______/_ _ _ _ _ _ ヽー―ヽ______
| ̄|| JAVA質問・相談99 | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄i二||
|| ̄ ̄ ̄ ̄|| ̄ ̄ ̄ ̄ ̄. :┌|:| || ̄|| | ̄ || || || ̄|||.______| ̄| ̄| ̄| ̄|i二||
[|| || [:]| | || || | ||._.||._.|| |||.| ̄|| | |_|_|_|_|i二||
|| ∩_∩|||. .: | | || || | || .|| |||.| || | | .| |.i二||
|| (´ー.`|||\. .: | | || || | || .|| |||.| || | | .| | |
|| ⊆⊇⊂|||| \. ; | | || || |__||_____ ||_|||.|_|| | |二二 |二二| |
|二二:二二二二:二二二ニニ| || ||  ̄ ̄ ̄ ̄ ̄ ̄ | | |  ̄ ̄ ̄ ̄ ̄ |
| | || || || /⌒.∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|―――\/――――‐.|― || || || || . (´∀.` )< みなさん、迎えに来ましたよ。
[|口口 ┌―┐ 口口| [] || || || .|||:0( ) \_______________________
|二口二└―┘二二二口二ニ|| ||_||__||| | | | |_ | | _||| : || _/
 ̄ ̄ ̄ ̄ ̄ゝ_ゝノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ゝ_ゝ(_(__) ̄ ̄ ̄ ̄ゝ_ゝノ ̄
やだやだ98がいいんだい
98 → 98SE → ME
銀河鉄道999だろ
☆ チン マチクタビレタ〜
マチクタビレタ〜
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < 新スレまだ〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| D B |/
楳
うめ
Javaありがとう!!
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。