coolpay64 发表于 2007-6-23 12:58:11

[原创]Linux Based Internet Socket編程

其實也不是啥,
只是把最近啃過的筆記整理一下
希望有用吧(對网遊方面)

預讀
作為一個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/

不幸的這是某自己的伺服,沒有連線是看不到的
還請多多指教

shawind 发表于 2007-6-23 14:22:23

是用自己的机子开的blog.....
里面记了好多有趣的东西,学习学习。

Saiholmes 发表于 2007-6-23 18:22:22

C君总是这么勤奋~~http://www.comicfishing.com/thbbsin/image/post/smile/default/bz34.GIF

coolpay64 发表于 2007-6-23 22:56:33

間中,奇是也是剛剛起步
页: [1]
查看完整版本: [原创]Linux Based Internet Socket編程