監聽端:
1. 建立 socket
2. 建立並初始化 監聽端sockaddr
3. 繫結監聽端 sockaddr
4. 設定監聽個數
5. 建立傳送端sockaddr
6. 接受傳送端(沒有傳送端連線,會阻塞)
7. 開始 接收傳送資料
8. 關閉連線
傳送端:
1. 建立 socket
2. 建立並初始化 監聽端sockaddr
3. 連線 監聽端socket
4. 開始 接收傳送資料
5. 關閉連線
不同之處:
監聽端有 繫結,監聽,接受操作
傳送端有 連線操作
監聽端**:
socketservice.c
#include
#include
#include
#include
#include
#include
#define maxline 128
#define serv_port 8001
intmain
(int argc,
char
*ar**)
else
}// 8. 關閉連線
close
(socketfd)
;return0;
}
傳送端**:
socketclient.c
#include
#include
#include
#include
#include
#include
#include
#define maxline 128
#define serv_port 8001
// 讀函式
void
*readpthread
(void
*arg)
else
}close
(socketfd)
;return
(void*)
0;}int
main
(int argc,
char
* ar**)
close
(socketfd)
;return0;
}
[注]:由於 pthread庫 不是 linux的標準庫,直接編譯回報錯,在後面加上 -lpthread即可
gcc .
/socketclient.c -o socketclient -lpthread
Linux下經常使用的C C 開源Socket庫
1.linux socket programming in c 2.ace ace採用ace os適配層遮蔽各種不同的 複雜繁瑣的作業系統api。ace是乙個大型的中介軟體產品,20萬行左右,過於巨集大,一堆的設計模式,架構了一層又一層。它龐大 複雜。適合大型專案。開源 免費。不依賴第三方庫。使用的...
linux中c語言errno的使用
在linux中使用c語言程式設計時,errno是個很有用的動動。他可以把最後一次呼叫c的方法的錯誤 保留。但是如果最後一次成功的呼叫c的方法,errno不會改變。因此,只有在c語言函式返回值異常時,再檢測errno。errno會返回乙個數字,每個數字代表乙個錯誤型別。詳細的可以檢視標頭檔案。usr ...
linux中c語言errno的使用
在linux中使用c語言程式設計時,errno是個很有用的動動。他可以把最後一次呼叫c的方法的錯誤 保留。但是如果最後一次成功的呼叫c的方法,errno不會改變。因此,只有在c語言函式返回值異常時,再檢測errno。errno會返回乙個數字,每個數字代表乙個錯誤型別。詳細的可以檢視標頭檔案。usr ...