伺服器端
server.c
**:
#include#include#include#include#include#define max_line 100
/*process fuction,turn upper word to lower
*/void my_fun(char *p)
}int main(void)
struct sockaddr_in cin;
int l_fd;
char buf[max_line]; /*儲存傳送內容的緩衝區*/
char addr_p[inet_addrstrlen]; /*儲存客戶端位址的緩衝區*/
int port = 8000; /*埠號*/
int n; /*讀寫位元組數*/
bzero(&sin ,sizeof(sin)); /*清空位址結構*/
sin.sin_family = af_inet; /*使用ipv4通訊域*/
sin.sin_addr.s_addr = inaddr_any;/*伺服器可以接受任意位址*/
sin.sin_port = htons(port); /*埠號轉換為網路位元組序*/
l_fd = socket(af_inet,sock_stream ,0); /*建立套接字,使用tcp協議*/
bind(l_fd ,(struct sockaddr*)&sin ,sizeof(sin));/*將介面和套接字繫結*/
listen(l_fd ,10);/*開始監聽連線請求*/
printf("waiting ...\n");
while(1)
if(close(l_fd) == -1)
return 0;/*不應該執行到這裡*/
}
客戶端
client.c
**:
#include#include#include#include#include#define max_line 100
int main(int argc ,char *argv)
makefile檔案如下:
all:server client
server:server.c
gcc server.c -o server
client:client.c
gcc client.c -o client
clean:
rm *.o server client
執行make
./server
./client china
linux網路程式設計基礎 網路基礎
客戶機 client 伺服器 server 模式。需要在通訊兩端各自部署客戶機和伺服器來完成資料通訊。瀏覽器 browser 伺服器 server 模式。只需在一端部署伺服器,而另外一端使用每台pc都預設配置的瀏覽器即可完成資料的傳輸。c s模式 優點缺點 資料快取本地,效率高 工作量大,開發周期更...
linux網路程式設計基礎
ifndef errwrap h define errwrap h void perr exit const char s void err exit const char s int accept int fd,struct sockaddr sa,socklen t salenptr void ...
Linux 網路程式設計基礎
實際上就是socket套接字程式設計。socket是一套網路程式設計介面,類似於中間商一樣,上層使用者可以通過這些介面簡單完成網路通訊傳輸,不關心內部實現。由於傳輸層有兩個主要的協議 tcp udp,這兩個協議各不相同,因此實現流程也不同,所以socket程式設計就分為兩種。協議 協議特性 應用場景...