Linux C語言 TCP伺服器程式設計

2021-09-10 17:50:34 字數 1223 閱讀 6025

#include #include #include #include #include #include #include #include #include int sockfd;

// 斷開訊號處理函式

void sig_handler(int signo)

}// 伺服器端輸出客戶端的資訊

void out_addr(struct sockaddr_in *clientaddr)

// 像客戶端輸出當前伺服器時間

void do_service(int fd)

}int main(int argc, char *ar**)

if(signal(sigint, sig_handler) == sig_err)

// tcp協議

// af_inet: ipv4

// sock_stream: tcp

// 建立套接字

sockfd = socket(af_inet, sock_stream, 0);

// 將ip位址和埠號繫結套接字

struct sockaddr_in serveraddr;

memset(&serveraddr, 0, sizeof(serveraddr));

serveraddr.sin_family = af_inet;

serveraddr.sin_port = htons(atoi(ar**[1]));

serveraddr.sin_addr.s_addr = inaddr_any;

if(bind(sockfd,(struct sockaddr*)&serveraddr,

sizeof(serveraddr))<0)

// 監聽套接字

if(listen(sockfd,10) <0)

struct sockaddr_in clientaddr;

socklen_t clientaddr_len = sizeof(clientaddr);

while(1)

// 作出響應

out_addr(&clientaddr);

do_service(fd);

close(fd);

}}

使用

telnet + ip位址+埠連線伺服器

telnet 127.0.0.1 8888
或者使用瀏覽器

連線伺服器

linux c 高併發tcp伺服器架構

from epoll 接受資料到佇列,執行緒池處理佇列裡的資料 具體實現方式 只使用使用std的的資料結構,未使用boost thread pool.cpp include include include thread pool.h include thread process.h include ...

linux c 伺服器學習

網易雲課堂有乙個計算機專業課程體系 網上有一些學習路線 谷歌推薦的電腦科學學習路線 cs 電腦科學mooc學習路線 知乎上有這樣乙個問題 linux c 伺服器端這條線怎麼走?一年半能做出什麼?一些摘抄,陳碩說的點讚最多 tom pareto 說的 後台開發,從基礎到高階,有什麼好的書籍推薦?陳碩的...

Linux C 回射伺服器

回射伺服器就是服務端將客戶端的資料傳送回去。我實現的回射伺服器返回增加了時間。服務端 可以很容易看懂 cpp view plain copy include include include include include include include include include define ...