- 注册时间
- 2006-3-28
- 最后登录
- 2008-6-4
⑧专业
絕望青年,一起增高吧
- 积分
- 13676
|
其實也不是啥,
只是把最近啃過的筆記整理一下
希望有用吧(對网遊方面)
預讀
作為一個Socket,必須要先定義他的存在,建立一個Socket
而Socket是一種I/O物件,所以Linux把他當成一個檔案
每一個I/O物件檔也會有一個編號,也就是File Descriptor
當我們建立一個Socket時,作為一個I/O物,他也會有一個FD
以後所有Socket相關的指令也要使用這個FD作參數
而FD本身是一個int,所以第一個資料格式是
int
建立Socket
不論建立伺服端還是客戶端,Socket的建立方法都是一樣
int socket(int domain, int type, int protocol)
domain指Adress Family,填AF_INET
type指那類型的Socket,視乎用TCP/UDP填 SOCK_STREAM / SOCK_DATAGRAM
protocol是通訊的制式,多數也是填0
回傳值就是Socket的FD
一個有趣的地方是,在console有著I/O Stream導向的功能
例如把cerr的output指向cout
同樣可以把一個程式的output指向socket的Stream,也就是指向socket取得的FD
最後最後,說明select()這指令
以下需要include sys/time.h sys/types.h unistd.h sys/select.h
select()本來用於處理檔案,檢查某個file是否可讀,可寫或是否出現問題
有興趣可到http://coolpay64.myftp.org:8088/blog/
不幸的這是某自己的伺服,沒有連線是看不到的
還請多多指教 |
|