これは私がかなり前から解決しようとしてきた質問です。これは特定の言語を実現しませんが、エンディアンを指定するVMを持っている人にとっては実際には有益ではありません。ソケットを使用してTCP/IPを使用してデータを送信する99.9999%の人のように、プロトコルが宛先アドレスやポートなどの送信要素のエンディアンを指定していることを私は知っています。私が知らないのは、非互換性を防ぐためにペイロードを特定の形式にする必要があるかどうかです。
たとえば、プレゼンテーション層ではないプロトコルを開発し、最近のリトルエンディアンデバイスの優位性が非常に高いため、リトルエンディアンにすることにしたとします(たとえば、プレーヤーの位置などが送信されます)。リトルエンディアン順)。たとえば、ゲームエンジンのネットワークモジュールでは、レイテンシが重要であり、バイト変換にはかなりの時間がかかります。もちろん、アドレス、ポート、およびプロトコルに関連するすべてのデータは、必須としてビッグエンディアンで指定されます。ペイロードについて話しているのはそれだけです。
そのプロトコルは、ビッグエンディアンのマシンですぐに機能しますか(もちろん、送信が受信されたら、必要に応じて内容を変換します)?または、データの順序が異なるため、IPプロトコルなどのチェックサムが誤って計算され、raw_socketsが使用されていない場合、プログラマーはそれらを制御できませんか?
説明全体が誤解を招く可能性があるため、お気軽に説明を求めてください。
どうもありがとうございます。