[問題] server同時等待recv不同client傳送資料?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
Winsock2
問題(Question):
各位好,小弟是socket的初學者,最近想要實作一個server,
目的是在建立約4個連線(client使用不同的port連接server)之後,
這些client會傳送data給server,server接收到某個client的訊息後,
再根據是哪個client送的訊息去做相對應的事情。
理論上來說這些client不會同時送資料給server,同時間可能只有一個,
想請教各位大大,這樣一定得用multi-thread的方式實做嗎?
今天有稍微看了一下select()這個function,看到的example都是
select --> accept --> recv 的順序,但我需要做的是連線已經建立了,
就等不同的client send data給server,使用recv的話只能等待某個特定
socket connection傳資料過來,不能同時等4個connection,看收到哪個
之後再看是哪個socket收到的去做對應的事。
請教一下有什麼解法是不需要multi-thread但可以達到此需求的做法嗎?
server做的事情只有收資料時需要知道是哪個connection送資料過來這樣子。
感謝大家!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.211.153
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1432643264.A.698.html
→
05/26 20:37, , 1F
05/26 20:37, 1F
→
05/26 20:38, , 2F
05/26 20:38, 2F
→
05/27 02:49, , 3F
05/27 02:49, 3F
→
05/27 09:07, , 4F
05/27 09:07, 4F
→
05/27 09:08, , 5F
05/27 09:08, 5F
→
05/27 09:08, , 6F
05/27 09:08, 6F
推
05/29 10:27, , 7F
05/29 10:27, 7F
推
05/30 10:29, , 8F
05/30 10:29, 8F
→
05/30 10:30, , 9F
05/30 10:30, 9F
→
05/30 10:31, , 10F
05/30 10:31, 10F