網路的連線可以分成TCP以及UDP連線,TCP是連線導向且為可靠式,傳送上以每個byte為單位,有重傳機制確保資料可以正確地送到目的IP位址,適合用在傳輸文字、各種檔案、HTTP網路連線等這種不能損失封包的資料上,缺點是較無效率;而UDP則是非連線導向且為不可靠式,傳送上以每個packet為單位,因為不保證資料都能夠送達目的地,沒有重傳機制,速度較快,適合用在傳輸影音串流上,缺點是封包會有損失。
網路的連線可以從Physical layer -> Data Link layer -> Network layer -> Transport layer -> Application layer來探討,舉HTTP這個在user上的application為例子,是透過網路連線,經過電腦的MAC和IP位址,還有IP port number 80,最後透過HTTP的protocol來連線溝通。
2013/12/16
2013/12/10
[Android] Bundle Error: java.lang.NullPointerException
使用Eclipse編寫Android程式,撰寫兩個Activity以上之間的切換,常常Activity之間會需要有資料的傳遞,就必須要透過Intent()及Bundle()來完成。
Android的資料傳遞架構如下
Android的資料傳遞架構如下
2013/12/09
[網際網路] 乙太網路封包格式(MAC Frame Format)
Ethernet (802.3 MAC frame format)
在網路傳輸資料是透過所謂的封包來傳送,封包內包含了目的及來源的MAC位址、IP和Port,才能夠讓資料正確的傳送到目的地。不過整個電腦的網路是利用各種網路拓樸連結在一起,有時候封包間會發生碰撞的問題,可以想像成在單行道上,兩台車都要通過,就會造成堵塞的現象。因此透過CSMA/CD(Carrier Sense Multiple Access with Collision, IEEE 802.3)的設計,訂定出了網路的封包大小最小為64bytes;最大為1518bytes,來避免封包碰撞的現象。
在網路傳輸資料是透過所謂的封包來傳送,封包內包含了目的及來源的MAC位址、IP和Port,才能夠讓資料正確的傳送到目的地。不過整個電腦的網路是利用各種網路拓樸連結在一起,有時候封包間會發生碰撞的問題,可以想像成在單行道上,兩台車都要通過,就會造成堵塞的現象。因此透過CSMA/CD(Carrier Sense Multiple Access with Collision, IEEE 802.3)的設計,訂定出了網路的封包大小最小為64bytes;最大為1518bytes,來避免封包碰撞的現象。
以TCP/IP封包為例子,扣掉MAC位址及一些辨識碼[6(DA)+6(SA)+2(Ether type)+4(FCS)=18bytes],因此IP封包的大小為46~1500bytes,所以也常常會看到人家說網路的MTU為1500bytes,就是這麼來的。
2013/12/05
[Linux] 常用指令:chmod
在執行Linux的執行檔時,有時候會發現並不能執行,這是因為目前的使用者沒有這個權限。
權限的概念在Linux中很常使用,有分為 user / group / other三種,根據不同的使用者狀態,就會有不同的檔案使用權限( read / write / execute ) 。
要改變使用權限就要使用chmod指令
權限的概念在Linux中很常使用,有分為 user / group / other三種,根據不同的使用者狀態,就會有不同的檔案使用權限( read / write / execute ) 。
要改變使用權限就要使用chmod指令
chmod [options] mode file
-R recursive, i.e. include objects in subdirectories
-rwx 421
[Linux] 常用指令:grep
除了find之外,還有一個類似的指令是grep,這指令主要用來搜尋檔案裡相關的程式碼結果,在trace code的時候都非常的好用。
用法:
用法:
grep [-acinv] [--color=auto] 'find things' filename
-d, --directories=ACTION how to handle directories;
-R, -r, --recursive equivalent to --directories=recurse
-n, --line-number print line number with output lines
[Linux] 常用指令:find
在Linux中常常會需要尋找檔案,這時候就要利用find這個指令來達成。
用法:
用法:
find [PATH] [option] [action]
-type [bcdpflsD] 搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f), 裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s), 及 FIFO (p) 等屬性。
-iname filename 不限大小寫
-exec command 將搜尋結果執行command動作
訂閱:
文章 (Atom)