11月 11, 2009

Socket 資料結構與函式

從來沒搞懂的事情,總該有些長進了。先從基本的 sockaddr 結構談起,由於 sa_data 同時包含了 port 與 address 兩個欄位。為了設定方便,所以額外延伸出 sockaddr_in 這個結構。

sin_zero 的部份要用 memset() 填入零值,sin_family 則是要配合 sa_family 使用 AF_INET 格式。
+------------------------------------+
| sockaddr | sockaddr_in |
+-------------+----------------------+
| sa_family | sin_family (AF_INET) |
|-------------+----------------------+
| | sin_port (2 Bytes) |
| sa_data[14] | sin_addr (4 Bytes) |
| | sin_zero[8] |
+-------------+----------------------+

沒有留言:

張貼留言