[問題] C Socket Programming

看板C_and_CPP (C/C++)作者 ( )時間12年前 (2013/10/27 21:12), 編輯推噓1(106)
留言7則, 5人參與, 最新討論串1/1
開發平台(Platform): GCC 問題(Question): 請問各位, 一般找到的 socket programming 的範例都是 假設 server 與 client 已連線 (server-socket 與 client-socket 連線互傳資料) 一般的範例都是 1. server-socket 先 call recv() 後 call send() (相對的 client-socket 先 call send() 後 call recv()) 或是 2. server-socket 先 call send() 後 call recv() (相對的 client-socket 先 call recv() 後 call send()) 但如果我要做的是類似即時通訊那樣 就是有可能 server-socket 先 recv() 然後再 recv() 再 recv() 某個時間點 send() 也就是說不是這種一次 recv() 之後一次send() 再一次 recv() 再一次send()這種 固定模式 請問各位大大這樣如何達成呢 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.15.66

10/27 21:16, , 1F
聽說有個 system call 叫 select()
10/27 21:16, 1F

10/27 21:28, , 2F
非同步thread
10/27 21:28, 2F

10/28 02:27, , 3F
Linux和Windows會有不同作法 select是其中一種共通的
10/28 02:27, 3F

10/28 10:56, , 4F
linux的話學一下epoll windows的話就是IOCP
10/28 10:56, 4F

10/28 10:56, , 5F
不過說真的啦 直接用boost::asio不就好了 XD
10/28 10:56, 5F

10/28 12:34, , 6F
標題和平台倒底是什麼? 推文我都看糊塗了...
10/28 12:34, 6F

10/28 21:43, , 7F
標題嘛! Socket 顧名思義就是武器防具上可以鑲寶石的洞
10/28 21:43, 7F
文章代碼(AID): #1IRH4Xzn (C_and_CPP)
文章代碼(AID): #1IRH4Xzn (C_and_CPP)