2016-11-15 8 views
2

ソケットの定義を「UDP/TCP接続で最も一般的に使用されるAPI」(学校の資料)と読みました。 私には、選択肢があるかどうかを知りたいと思っていて、まだ見つけられていません。 抽象レイヤー(RPCやRMIなど)、などを追加したり、別のネットワークスタックを使用したり、別の方法で同じ役割を完全に満たすものを使用しています。ソケットの代替品

私はソケットの役割についても誤解しているかもしれませんが、セッションOSIレイヤーに適合していると考えていますか?私はそれについて本当に分かりません。

私はこれらの代替案を使用する予定はなく、便利なソケットがどれだけあるかを理解しています。あなたが別のネットワークスタックを使用する予定がない場合は、あなたの興味

+0

[ソケットプログラミングの代替案はありますか?](0120-13753) –

+0

私はこのスレッドをチェックしましたが、しかし、 1)それは古くて、おそらく新しいプロジェクトが から生まれた2)それはC#に固有のものです(私は使用する言語については気にしません) 3)作者が追加された抽象レイヤーに満足していたようです。私は抽象概念を追加していない**代替案**を探していることを指定しました。 –

+1

'別のネットワークスタックを使用していますが、確認していただきありがとうございます。例えば、異なる実装を有する異なるネットワークスタック。 TCPと異なるAPI。 'listen'と' bind'機能が必要な根本的な理由はありません。 – usr

答えて

0

ため

おかげで、私は答えはノーだと思います。この背後にある理由は、ソケットがネットワークスタックでしっかりと実装されているためです。例えば、TCPとUDPは、送信されていないデータと受信されたデータを保存するためにソケットを使用します。これらのバッファとの間でデータを読み書きするAPIを実装することは間違いありません。しかし、私はこれを行う上での利点を見ることはできませんし、それらのAPIは実際にソケット上に構築されています。

+0

彼らはそうではありません。 TLIインタフェースは、Socketsインタフェースとは何の関係もありません。また、SocketインタフェースはUnixドメインソケットやTCPやUDPにも使用されているため、全く密接に結合されていません。 – EJP

+0

私はA. Grenouillouxが同じネットワークスタック上で実行できる代替ソケットの実装を求めていると思います。 Linuxシステムでは、TCPまたはUDPは直接ソケットバッファにデータを格納します。したがって、ネットワークスタックを変更しない場合、どのようにこれをバイパスできますか? – user2760751