(unix網路程式設計卷一原始碼位址)
centos, ubuntu, mac 下都類似
1.首先解壓unpv13e原始碼,然後進入
2../configure
3.cd lib; make;
4.cd intro;make;(時間相關的客戶端,伺服器程式都已編譯完成)
5.然後要啟動伺服器,需要root許可權,啟動命令: ./daytimetcpsrv (出於安全考慮,保留埠普通使用者許可權不能使用。停止daytime也不行。用root或setuid。或者改13埠)
6.如果是在同一臺電腦,此時需要另起terminal終端,然後到此目錄(intro/)下,啟動客戶端:./daytimetcpcli 127.0.0.1
如果是在不同的電腦,啟動客戶端:./daytimetcpcli ***.***.***.***(需要注意的是伺服器是否設定了防火牆,如連線不上可能是被牆了,需要關閉防火牆或開啟此埠操作)
以下是本機上的結果:
伺服器:
sh-3.2# ./daytimetcpsrv
或者 : ./daytimetcpsrv & (這樣會在後台執行,不會獨佔終端)
客戶端:
➜intro./daytimetcpcli 127.0.0.1
fri apr 24 10:21:07 2015
UNIX網路程式設計 併發伺服器(多程序)
以下程式的源 均是unix網路程式設計上的例子程式。intro daytimetcpsrv1.c include unp.h include include apueerror.h int main int argc,char argv tcp一般採用併發伺服器。當服務乙個客戶請求可能花費較長時間時...
UNIX網路程式設計 伺服器高效併發模式
半同步 半非同步模式 在併發模式下,同步和非同步的概念與i o同步非同步的概念有所不同,這裡的同步是指程式按照 的順序執行,而非同步指的是程式的執行需要系統事件來驅動,比如訊號 中斷等。非同步執行緒效率高,但編寫相對複雜,難於調式,而同步執行緒剛好相反,邏輯簡單,但效率較差。半同步 半非同步模式結合...
Unix網路程式設計伺服器設計方式之二
此方式首先伺服器端建立乙個監聽,並阻塞至accetp處,當乙個客戶端進行連線時,accept函式並啟用並返回,此時用fork函式建立乙個子程序,由子程序執行客戶請求處理程式,而父程序繼續監聽,等待其他的客戶端。此方式會建立很多的程序,程序個數受具體的作業系統的限制。這種併發伺服器的缺點在於建立乙個子...