[問題] server socket 緩衝 相關問題
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
pthread?
問題(Question):
目前用char buffer[200];來儲存
我的server會在main function
1.開一個pthread處理socket
2.進入while迴圈利用scanf主動send訊息
而pthread則是會
1.read從client寄來的訊息
2.printf從client來的訊息
3.一讀到訊息就會send回傳訊息給client
4.重複以上步驟...
假設我一氣呵成輸入pizza回車
client就會收到pizza訊息
但是我慢慢輸入piz時
被client打斷
這時緩衝區似乎沒被清空(piz)
繼續輸入za的話client就會得到pizza訊息
想問在這個狀況下能否先將buffer區的piz讀出來
讓pthread在不妨礙main的情況下
輸出client的message之後
把piz讀出來
main可以繼續輸入za來完成pizza這個單字?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.244.217 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1597823902.A.6D3.html
※ 編輯: applejuice64 (42.73.244.217 臺灣), 08/19/2020 16:02:05
→
08/19 16:08,
3年前
, 1F
08/19 16:08, 1F
→
08/19 16:19,
3年前
, 2F
08/19 16:19, 2F
→
08/19 16:20,
3年前
, 3F
08/19 16:20, 3F
※ 編輯: applejuice64 (42.73.244.217 臺灣), 08/19/2020 16:21:54
目前是主程式進入scanf的時候
文字打到一半(piz)
被pthread接收到的client訊息打斷
雖然緩衝區沒被清掉
繼續輸入za回車可以scanf完整的pizza
但是我想讓pthread的訊息干擾完介面之後
pthread輸出piz讓介面好看一點
※ 編輯: applejuice64 (42.73.244.217 臺灣), 08/19/2020 16:26:48
→
08/19 19:50,
3年前
, 4F
08/19 19:50, 4F
→
08/19 19:50,
3年前
, 5F
08/19 19:50, 5F
推
08/20 07:22,
3年前
, 6F
08/20 07:22, 6F
→
08/20 07:22,
3年前
, 7F
08/20 07:22, 7F
→
08/20 07:22,
3年前
, 8F
08/20 07:22, 8F
→
08/20 23:40,
3年前
, 9F
08/20 23:40, 9F
→
08/21 00:02,
3年前
, 10F
08/21 00:02, 10F
推
08/22 12:05,
3年前
, 11F
08/22 12:05, 11F