
下のように URLConnections クラスと sockets クラスでは使用してるプロトコルが違うのか
googleからの反応が異なります
URLConnections クラスは反応を示さず
sockets クラスは読み込めます
そこで、URLConnectionsクラスとsocketsクラスが使用している
TCP/IP階層図では URLConnectionsクラスとsocketsクラスはどの階層に該当するのでしょうか?
import java.io.*;
import java.net.*;
import java.util.Date;
class URLConnections
{
public URLConnections()
{
try{
int character;
URL url = new URL( "http://www.google.co.jp" );
URLConnection urlconnection = url.openConnection();
int contentlength = urlconnection.getContentLength();
if( contentlength > 0 )
{
InputStream in = urlconnection.getInputStream();
while( (character = in.read() ) != -1 )
{
System.out.print( (char)character );
}
}
}catch(Exception e)
{
System.out.println( "URLConnections で例外発生");
}
}
}
class sockets
{
public sockets()
{
try {
System.out.println( "socket start" );
Socket s = new Socket( "www.google.co.jp", 80 );
BufferedReader in = new BufferedReader( new InputStreamReader( s.getInputStream() ) );
PrintWriter out = new PrintWriter( s.getOutputStream() );
out.print( "GET /index.html\n\n" );
out.flush();
String line;
while( (line=in.readLine())!= null ){
System.out.println( line );
}
System.out.println( "socket end" );
}catch(Exception e)
{
}
}
}
public class app {
public static void main( String[] args)
{
URLConnections u = new URLConnections();
System.out.println( "end1\n" );
sockets s = new sockets();
System.out.println( "end2\n" );
}
}
No.2ベストアンサー
- 回答日時:
TCP/IP階層モデルでは、
どちらもアプリケーション層です。
ただし、OSI参照モデルでは、
ソケット通信はセッション層
HTTP通信はアプリケーション層
になります。
プロトコルはもちろんちがいますよ。
ソケット通信では、自分でプロトコルを実装するのですから。
No.1
- 回答日時:
> URLConnections クラスは反応を示さず
APIドキュメントを開き
URLConnectionクラスのgetContentLengthメソッドの
説明を読むと良いわ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java java final 1 2022/06/10 22:49
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Ruby vscode 文字化け 1 2022/05/21 19:17
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
範囲外の数値を代入したらエラ...
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
private変数を設定(Java)
-
import と extends について
-
C++ シングルトン マルチスレッド
-
static変数を持ったクラスを継...
-
javaでメインクラスが見つから...
-
ArrayListの使い方がわかりませ...
-
c++,ある関数のクラスから別の...
-
違うクラスのデータを読み込む...
-
super.paint(g)を呼び出す意...
-
パラメータのやりとり
-
二つの変数の値を入れ替えるメ...
-
無名パッケージからのインポート
-
命名規約について
-
ASP Pageの孫継承のPage_Load
-
親クラスから子クラスへアクセス。
-
「タイプ初期化子が例外をスロ...
-
他クラスのすごくかっこいい同...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
範囲外の数値を代入したらエラ...
-
関数内の変数に<summary>コメン...
-
C#にて別クラスの関数を使いたい
-
c++,ある関数のクラスから別の...
-
構造 他のクラスの構造体を別...
-
C#でほかのファイルにある自作...
-
C++でfriendクラスにしているの...
-
import と extends について
-
Java リフレクションについて
-
無名パッケージからのインポート
-
visual studioのデザイナ画面で...
-
ひとつのファイルにクラスは1つ?
-
違うクラスからの変数の共有化
-
C#のクラスライブラリでメッセ...
-
継承したクラス側のクラス名の取得
-
Java
-
java-別クラスの変数の使い方を...
-
C# インターフェイスの実装
-
デシリアライズでオブジェクト...
おすすめ情報