I recently experienced the exact same problem as Yilin Qin described, however it is with IB Gateway, not TWS. I ended up changing from IB Gateway to TWS (reluctantly).
As Yilin rightly pointed out, there is no good solution. IB have been through all my logs, good days and bad, and all they can suggest is to change to a different internet connection. That, for me, isn't an alternative. I restart TWS at least once during the week, and that seems to make the problem go away.
KH