作者CCHptt (CCH)
看板PttCurrent
標題[請益] Ptt棋院IPC問題
時間Wed May 24 15:14:46 2006
mbbsd/chess.c:
ChessRecvMove(ChessInfo* info, int sock, void *step)
{
if (read(sock, step, info->constants->step_entry_size)
!= info->constants->step_entry_size)
return CHESS_STEP_FAILURE;
return *(ChessStepType*) step;
}
read 的傳回值不足 info->constants->step_entry_size 可能是 socket 裡的資料還
沒到齊, 再讀幾次也許就能收齊, 只讀一次就決定是成功或失敗, 不會造成誤判嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.124.194
推 scwg:通常... 我懶得 check...||| 05/24 23:44
推 scwg:而且 local socket 通常有個常數定義一次多少 byte 內一定 05/24 23:49
→ scwg:一次送到? 05/24 23:49