作者: falcon 發(fā)表日期: 2006-04-14 09:54
復(fù)制鏈接
是不是還對用c怎么實(shí)現(xiàn)網(wǎng)絡(luò)編程感到神秘莫測阿,我們這里就要撕開它神秘的面紗,呵呵。
一起來:
誒,不要著急,我們先來介紹一些網(wǎng)絡(luò)程序的主要執(zhí)行過程,主要是便于大家更好的理解下面的程序?qū)嵗?:
1)系統(tǒng)啟動(dòng)服務(wù)器執(zhí)行。服務(wù)器完成一些初始化操作,然后進(jìn)入睡眠狀態(tài),等待客戶機(jī)請求。
2)在網(wǎng)絡(luò)的某臺(tái)機(jī)器上,用戶執(zhí)行客戶機(jī)程序
3)客戶機(jī)進(jìn)行與服務(wù)器進(jìn)程建立一條連接
4)連接建立后,客戶機(jī)通過網(wǎng)路向服務(wù)器發(fā)出請求,請求某種服務(wù)。
5)服務(wù)器接收到客戶機(jī)的請求后,根據(jù)客戶機(jī)請求的內(nèi)容進(jìn)行相應(yīng)的處理,然后將處理結(jié)果返回。
6)服務(wù)器斷開與客戶機(jī)的連接,繼續(xù)睡眠,等待其他客戶機(jī)的請求。
現(xiàn)在介紹一個(gè)實(shí)例
功能:實(shí)現(xiàn)簡單的服務(wù)器-客戶機(jī)編程,客戶機(jī)發(fā)送連接請求后接受到連接成功信息。
代碼包括兩部分,服務(wù)器部分(service.c)和客戶機(jī)部分(client.c)
Code:
[Ctrl+A Select All]
Code:
[Ctrl+A Select All]
下面我們來編譯執(zhí)行看看效果哦
編譯:
#gcc -o service service.c
#gcc -o client client.c
修改執(zhí)行權(quán)限
#chmod 770 service
#chmod 770 client
執(zhí)行
現(xiàn)執(zhí)行服務(wù)器端哦
#./service
另開一個(gè)命令行窗口,連接服務(wù)器的3490端口
#./client localhost
呵呵,看到效果了吧
服務(wù)器端:
server: got connection from 127.0.0.1
|
|
客戶端
[注:以上程序在mandriva linux 2006下調(diào)試通過]
從此踏上linux下的網(wǎng)絡(luò)編程之路,祝賀你一帆風(fēng)順...
Good Luck,Babies