2017-12-04 6 views
1

Cでは、protocol familyが第1パラメータとして記載されている。Java - プロトコルファミリーの言及方法

EX用

:Pythonは3つのアドレスファミリ、AF_INETをサポート


をスニッフィングのIPv4パケットのために使用さ

socket(AF_PACKET,,)ため

socket(AF_INET,,)AF_INET6 & AF_UNIX


プロトコル・ファミリー・スタック上のJavaにおいて

、構文の下プロトコルファミリを言及することはできません、

ServerSocket() 
ServerSocket(int port) 
ServerSocket(int port, int backlog) 
ServerSocket(int port, int backlog, InetAddress bindAddr) 

Socket() 
Socket(InetAddress address, int port) 
Socket(InetAddress address, int port, InetAddress localAddr, int localPort) 
Socket(Proxy proxy) 
Socket(SocketImpl impl) 
Socket(String host, int port) 
Socket(String host, int port, InetAddress localAddr, int localPort) 

1)、Java(登録商標)は、ソケット通信を可能にしますか?

2)Javaではソケット通信のプロトコルファミリを明示的に指定できますか?

+0

コンストラクタに渡す必要がありますか?特定の問題をソケットに接続していますか? –

+0

@ cricket_007ソケットを作成する前に、プロトコルファミリを選択する必要があります。私はあなたのポイントを得ていませんでした。 Cでは 'socket(AF_INET ,,)' apiは渡された引数に基づいてプロトコルファミリを選択し、対応するプロトコルファミリライブラリを実行時にCアプリケーションにバインドするためにセレクタパターン*を使用します。 – overexchange

答えて

2

JavaはAF_UNIXまたはAF_PACKETをまったくサポートしていません。すべてのソケットクラスはAF_INETとAF_INET6のみをサポートし、AF_INET6スタックが存在するかどうかに応じて自動的に行います。

+0

'ソケット(InetAddressアドレス、intポート)' javaのAPIは 'InputStream'と' OutputStream'バイトベースのストリームIOを抽象化したものです。バイトベースのストリームIOは* tcpポート番号*と* inetアドレス*をどのように理解していますか? – overexchange

+0

こんにちは@overexchangeそれはあなたがそれを与えるどのような種類のアドレスに基づいています。 –

+0

@overxchangeあなたは逆さまです。入力ストリームと出力ストリーム自体は抽象です。ソケットの入出力ストリームは、ソケット上の抽象であると言う方がより正確でしょう。 – EJP

関連する問題