關燈 巨大 直達底部
親,雙擊螢幕即可自動滾動
第134頁

當然沒有寫信那麼簡單,我們可能在主訊息體前面加了很多標示,就像之前所說的,第一層用兩個位元組使用i標識,這個是屬於這個通訊系統的佔位符,第二層用四個位元組傳入了一個時間,第三層用個位元組傳了一個短整形7,標識這個文字的業務是傳輸訊息,第四層用了四個位元組放了一個長整形標識之後訊息體的位元組長度,第五層才能使用剛剛讀到的訊息體長度,才可以拿到定長的訊息體。

在這之後,還需要解碼訊息體,得到真正的訊息,不過這個東西一般寫在客戶端,伺服器只負責傳輸就好了。

當然以上的描述只是個栗子,而真正應用中比這些資料更多、更複雜,比如一個使用者傳遞訊息給另一個使用者,如果要交給另一個使用者,不僅伺服器要識別這個訊息體傳送人的身份,還要識別傳遞給那個人的是否存在,能不能傳送等等。

功能層主要就是進行資料的一些處理,比如以下程式碼:

t endelng(lng lng t sr,unsigned har ret,t ap;ap;ap;len)

{

unsigned har buf =(unsigned har)all(9);

eset(buf,0,9);

unsigned har p = buf;

p++|= lph_ft_lng;

p++|=(srap;ap;ap;ap;5)ap;ap;ap;0ff;

p++|=(srap;ap;ap;ap;48)ap;ap;ap;0ff;

p++|=(srap;ap;ap;ap;40)ap;ap;ap;0ff;

p++|=(srap;ap;ap;ap;32)ap;ap;ap;0ff;

p++|=(srap;ap;ap;ap;24)ap;ap;ap;0ff;

p++|=(srap;ap;ap;ap;)ap;ap;ap;0ff;

p++|=(srap;ap;ap;ap;8)ap;ap;ap;0ff;

p++|=(sr)ap;ap;ap;0ff;

len = 9;

ret = buf;

return 0;

</br>

<style type="text/css">

banners6 { width: 300px; height: 250px; }

dia (-width:350px) { banners6 { width: 336px; height: 280px; } }

dia (-width:500px) { banners6 { width: 468px; height: 60px; } }

dia (-width:800px) { banners6 { width: 728px; height: 90px; } }

dia (-width:1280px) { banners6 { width: 970px; height: 250px; } }

</style>

<s class="adsbygoogle banners6" style="display:le-block;" data-full-width-responsive="true" data-ad-client="ca-pub-4468775695592057" data-ad-sl