以上思路作为一种尝试吧. [解决办法] 有! 请在所有需要SendData的地方不要直接调用SendData,而是 dim SD as String'全局变量 ... dim after ad double SD=要发送的数据 TimerSD.Interval=1 TimerSD.enabled=True after = Now + 5# / 24# / 3600# do doevents if TimerSD.enabled=False then exit do If Now > after Then Msgbox "send data 5s overtime!" Exit Do End If loop ... Private Sub TimerSD_Timer() On Error GoTo MSerr tcpServer.SendData SD TimerSD.enabled=false Exit Sub MSerr: If Err.Number = 40006 Then TimerSD.enabled=false Exit Sub Else TimerSD.enabled=false tcpServer_Close Exit Sub End If end Sub 试试看吧 [解决办法] 估计跟不要在中断处理程序中处理数据而要将数据放入FIFO队列立即退出中断,另一道程序发现FIFO队列中有数据再取出处理并发送反馈到中断请求方的原因类似吧