求linux下多執行緒socket監聽的c程式高分

時間 2022-03-14 08:48:44

1樓:匿名使用者

#include

#include

#include

#include

#include

#include

#include

#include

#define port 8888

void *yourfunction(void *connect_fd)

//你沒說具體的應用,所以只能寫這麼多了。在這裡面直接對connfd呼叫read和write函式就可以和客戶端收發資料了。

//補充:是啊 返回給客戶端什麼資訊啊?

int main(void)

servaddr.sin_family = af_inet;

servaddr.sin_addr.s_addr = htonl(inaddr_any);

servaddr.sin_port = htons(port);

if (n == -1)

n = listen(sockfd, 20);

if (n == -1)

while (1)

return 0;}

2樓:匿名使用者

boost庫中的asio庫,你要是想學習,看看他的**,保你受益匪淺,你要是想直接拿來用,只要很簡潔的幾行**就行了。你下來看例子就知道了。

這個庫已經是納入標準庫了。

每當有鏈結連線進來你就開個執行緒,有50個連線你就開50個執行緒,100個你就開100個,而大多數執行緒都處於i/o阻塞中,你的系統資源都被浪費光了。而且你還沒考慮超時問題的處理。

3樓:匿名使用者

去csdn發個貼問問或是搜尋一下吧,相關回覆很多

4樓:匿名使用者

看apache或者lighttpd之類的東西的原始碼

linux下DNS問題,Linux下DNS無法解析問題

看看你的dns的設定,不要一台機器搞的是公網的,一台dns是內網的,那肯定不能用了,其他的都正常,就這個nslookup問題,那很大程度的原因是dns的問題。nslookup 是要找dns的,xp 的dns 設定為多少?192.168.1.1 192.168.56.3 dns沒反應,應該設定正確的d...

linux系統下怎麼公升級,Linux系統下怎麼公升級OpenSSH

命令 作用 yum repolist all 列出所有倉庫。yum list all 列出倉庫中所有軟體包 yum info 軟體包名稱 檢視軟體包資訊 yum install 軟體包名稱 安裝軟體包 yum reinstall 軟體包名稱 重新安裝軟體包 yum update 軟體包名稱 公升級軟...

求高手 我在linux下配置了DNS,name服務可以啟動,但是使用nslookup無法解析網域名稱

微軟的商標是有s的吧,windows,呵呵。wine只能模擬有限的程式,不要對它寄予太高希望。速度很慢可能是由於locale導致的,你在wine乙個程式時用lang en us wine a.exe 以中文utf8做locale在跑wine時是會出現問題的,不過具體原因我不清楚 請參考,希望能幫到你...

linux下 如何恢復目錄,Linux下 如何恢復目錄。

這是在boot下恢復目錄方法,希望能幫到你 看樣子你是用rm rf 刪除的,不能恢復 如果使用rm rf 刪除的話無法恢復 站有嗎?你有備份沒有?都沒有的話去別人的機器裡複製過來 linux資料夾誤刪怎麼恢復 不小心刪除的檔案應該怎麼恢復呢?今天我們一起來看一下 linux 資料夾刪除怎麼恢復 一 ...

如何執行Linux下的軟體,在Linux下載的軟體怎麼執行?

要經過gcc命令在本機編譯後方可使用在linux系統中,安裝軟體最常見的有兩種 一種是軟體的源 您需要自己動手編譯它。這種軟體安裝包通常是用gzip壓縮過的tar包 字尾名為.tar.gz 另一種是軟體的可執行程式,你只要安裝它就可以了。這種軟體安裝包通常是乙個rpm包 redhat linux p...