找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2818|回复: 3

[通用编程] [原创]Linux Based Internet Socket編程

[复制链接]
发表于 2007-6-23 12:58:11 | 显示全部楼层 |阅读模式
其實也不是啥,
只是把最近啃過的筆記整理一下
希望有用吧(對网遊方面)

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

不幸的這是某自己的伺服,沒有連線是看不到的
還請多多指教
发表于 2007-6-23 14:22:23 | 显示全部楼层
是用自己的机子开的blog.....[s:5]
里面记了好多有趣的东西,学习学习。
发表于 2007-6-23 18:22:22 | 显示全部楼层
C君总是这么勤奋~~
 楼主| 发表于 2007-6-23 22:56:33 | 显示全部楼层
間中,奇是也是剛剛起步
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-11-6 19:20 , Processed in 0.011346 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表