[問題] THREAD裡的WHILE可以更新data嗎?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC,LINUX,ECLIPSE
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
PTHEARD MSG_QUEUE
問題(Question):
我在試寫一個SOCKET的多人聊天室 我設計當一個CLIENT連接到SERVER時就產生
一個THREAD THREAD裡在用WHILE RECV跟SEND, 但是這情形就是當有一個新的
CLIENT連接上時 ACCEPT的SOCKET也跟著更新 請問這部份應該怎麼撰寫比較好
有試過MESSAGE QUEUE 但是還在嘗試中
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
int*newsock[5];
int main()
{
listen(sockfd,5);
while(1){
int i=0;
linksockfd[i]=accept(sockfd,.....);
nn=*i;
newsock[i]=linksockfd[i]
pthread_create(&thread1,&recvthread,....);
i++;
}
}
void* recvthread(*nn){
while(1){
recv(nn,buffer,...)
for(j=1~5)
{
send(newsock[j],buffer,...)
}
}
}
這種感覺 忽略掉蠻多的
補充說明(Supplement):
--
████ * http://ppt.cc/M9C4 臉書 http://0rz.tw/tkNbW 噗浪 ███◣
█ █ . ☆█ ◥█
★ ,告訴你,我沒有朋友喔 ★
████ ███ █ ☆ ◢███◣ ███◣ █ █
█ █ █ 你要當我的朋友嗎? █──▄ █ █ █ ◢█
█ * █ ☆ █ §hilulu01 ★ ◥███◤*█ ☆█ ███◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.222.153.62
→
10/08 11:52, , 1F
10/08 11:52, 1F
→
10/08 15:25, , 2F
10/08 15:25, 2F
→
10/08 15:28, , 3F
10/08 15:28, 3F
→
10/08 16:31, , 4F
10/08 16:31, 4F
→
10/08 16:32, , 5F
10/08 16:32, 5F
※ 編輯: skizzy 來自: 61.222.153.62 (10/08 16:51)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章