作者deh3215 (黑金屬魂)
看板C_and_CPP
標題[問題] client按ctrl+c,server會中斷~~
時間Thu Jun 27 01:55:51 2013
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux gcc
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
NO
問題(Question):
要寫一支server如果收到rs232的資料,就透過ethernet傳給client~~
server收到rs232的資料,client一連上來,就會送給client(送收都印),但client按ctrl+c
client中斷,server也會跟著中斷~~而server在一while迴圈裡
http://codepad.org/tRePDHcI
server問題一直卡在while那邊,client就只是單純等待收資料~~
請對socket有經驗的版友指點迷津~~~~3Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.198.76
→ janice001:我亂入一下 可以用多線程嗎? 06/27 11:42
→ CHHsu:第141行write必須檢查n 確認是否成功寫入 06/27 14:00
→ deh3215:之後會改成多client的方式~~有試過用write回傳值判斷,為0 06/27 20:49
→ deh3215:則重新accept,目前不懂client,按ctrl+c,server是中斷在哪? 06/27 20:50
→ CHHsu:另外請仔細閱讀上面網頁的EPIPE段落 06/27 21:28
推 coolstreet:141的n要檢查,如果等於0表示client中斷 06/28 18:00
→ coolstreet:說錯= =,按照CHHsu說的即可 06/28 18:02