No.1ベストアンサー
- 回答日時:
WEB?
HTML(もしくはJSP)から<input type="text">にファイルサイズを入力して、submitして、Servletでその値を取得するってことですか?
それとも、<input type="file">にファイル名を入力して、submitして、Servletでファイルからファイルサイズを取得するってことですか?
ファイルのアップロードでしたら、検索すれば参考になるものがたくさん見つかりますよ。
↓
http://www.google.co.jp/search?hl=ja&q=java+%E3% …
とりあえず、どういう状況で何がどううまくいかないのか不明点が多すぎます。
補足をお願いします。
この回答への補足
ソケット通信です。
サーブレット、HTMLは関係ないです。
C言語だと、以下のようなことをしたいのです。
行いたい部分だけ書きます。
---
書き込み側
int file_size = 1024;
write(fd, (const void *)&file_size, sizeof(int));
読み込み側
int file_size;
read(fd, (void*)&file_size, sizeof(int));
---
Javaではどうすれば出来るでしょうか。
おねがいします。
No.3
- 回答日時:
いくつかの実装方法がありますが。
。。以下に送受信のコードの例を示します。
(1~10までの数値を送信し、受信側で表示する。)
ソケットの作成はできているということなので、データの送受信の部分のみ書いておきます。
sizeが送受信されるデータのサイズ、dataが実際に送受信されるデータです。
実際に使用する場合はsizeやdataを適切に操作してください。
// 送信側
// Socket socket をここまでに作成しておく
// これを使用するメソッドはIOExceptionをスローするようにしておく。
DataOutputStream out;
try {
out = new DataOutputStream(socket.getOutputStream());
} catch (IOException ex) {
throw ex;
}
int size = 10;
byte[] data = new byte[size];
for (int i = 0; i < data.length; i++)
data[i] = (byte)i;
out.writeInt(size);
out.write(data);
out.flush();
// 受信側
// Socket socket をここまでに作成しておく
// これを使用するメソッドはIOExceptionをスローするようにしておく。
DataInputStream in;
try {
in = new DataInputStream(socket.getInputStream());
} catch (IOException ex) {
throw ex;
}
try {
int size = in.readInt();
System.out.println("Data size: " + size);
byte[] data = new byte[size];
in.read(data);
for (int i = 0; i < data.length; i++)
System.out.print(", " + data[i]);
} catch (IOException ex) {
throw ex;
}
No.2
- 回答日時:
参考URLに書いてあるようなことですか?
やったことないので、あまりお力になれず申し訳ありませんが、
送信側から受信側に送るデータの「最初の4バイト」はファイルサイズ
と決めて、最初の4バイトを読み込んで、それからその後を読み込めば良いのではないでしょうか。
参考URL:http://www.hellohiro.com/socket.htm
この回答への補足
回答1の補足に書いたCのコードを、そのままJavaコードに落とすことが出来ないでしょうか。
このようなことをしたい理由は、Javaプログラムとphpプログラム間でソケット通信を行いたいからでして。
byte転送なら確実かと思って質問しました。
回答ありがとうございます!
参照していただいたURLはJAVAで、ソケットプログラムの作り方ですね。
だけど、ソケットプログラムはすでに作っていますので…
でも参考になりました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Facebook メッセンジャーでの動画送信 1 2022/08/11 09:29
- 面接・履歴書・職務経歴書 履歴書と職務履歴書をネット提出難しいです。。 中途採用の書類選考の為に履歴書と職務履歴書を提出してほ 1 2023/01/19 20:56
- Outlook(アウトルック) アイホンで撮った写真を一枚だけPCに移し画像を縮小してWebメールに添付して送信する方法 1 2022/04/22 15:33
- 面接・履歴書・職務経歴書 バイトに応募して、履歴書をメールで送ってくださいと言われメールで送ったのですが、送信済みフォルダに送 4 2023/04/30 16:16
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Windows 10 この現象も、Microsoft Explorer のお粗末な仕様のためか? 2 2023/06/09 15:06
- その他(ネットショッピング・通販・ECサイト) 初めてタイミーを利用します。 応募後に服のサイズをメッセージで送ってくださいと記載されてたので送りま 1 2022/06/24 18:59
- 会計ソフト・業務用ソフト エクセルファイルの修復前後の比較について エクセルファイルの動きが悪く何となく修復をしてみたのですが 1 2022/12/23 17:32
- 所得・給料・お小遣い バイト代の不払い 高校生初めてのバイト、〇〇ザップでポスティングをしました。配り終えたら専用サイトに 1 2023/07/20 12:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
ソケットのクローズについて
-
UDP通信する時に、相手にどうや...
-
WinSockでの通信プログラムがう...
-
エクセル VBA でのCOMポート...
-
recv関数でフリーズしてしまう
-
UDP通信(SNMP)したいが、うま...
-
UDPで受信終了の合図を出して受...
-
Winsockで接続待ちタイムアウト...
-
JavaでBASIC認証突破
-
クライアントソケットMACアドレ...
-
UDP通信におけるbind関数について
-
winsockでファイル転送
-
VB6のwinsockでconnectできない
-
UDPのソケットプログラミング
-
非ブロッキングソケットのrecv...
-
バインドと接続(BindException...
-
空きポートの取得方法
-
ソケット通信 同じポート番号...
-
ソケットのrecvの戻り値が0
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
エクセル VBA でのCOMポート...
-
UDP通信する時に、相手にどうや...
-
UDP通信におけるbind関数について
-
UdpClient 送信元のIPアドレ...
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
ソケットのクローズについて
-
ソケットのrecvの戻り値が0
-
Socket通信の0バイト受信について
-
ソケット通信 同じポート番号...
-
相手のIPアドレスを取得する方法
-
ソケットでクライアントのipア...
-
VB6のwinsockでconnectできない
-
Connectエラーが出てしまう・・...
-
ソケット通信の送受信遅延-02 ...
-
同じLAN内パソコンのIPアドレス...
-
WinSockでの通信プログラムがう...
-
UDPのソケットプログラミング
-
非ブロッキングソケットのrecv...
おすすめ情報