對于網絡程式設計,為适應異構環境,通常會做主機位元組序到網絡位元組序的轉換,消息一多,是有一定CPU浪費的,這一般不是個好主意,于是有些做法在消息頭用一個bit來訓示消息的位元組序,可以不必要的轉換。
但是增加這麼一個bit,多少增加了些複雜度,特别是破壞消息結構的通用性,是否可以連這一步都省了?
鑒于,一般環境,同一種位元組序的機器會占多數,是以是否可以考慮改變這一規則,比如統一以小位元組方式傳輸,在網際網路公司内部,一般都符合,這樣是不是就可以了?
為什麼我會提出這個問題,因為在設計mooon的消息時,就想避開它。具體操作時,這點也并不寫死,而是可以配置的,依據主體環境來決定最終使用哪一個大還是小位元組序。
這樣的結果是,即保證了簡單性,同時又兼顧了效率。
本文轉自eyjian 51CTO部落格,原文連結:http://blog.51cto.com/mooon/909861,如需轉載請自行聯系原作者