2014-01-13 53 views
0

使用One of the cookbook examples,我試圖讓一個服務器,像這樣在Rebol2:客戶端斷開導致超出範圍的錯誤

listen: open tcp://:9999 
waitports: [listen] 
forever [ 
data: wait waitports 
either same? data listen [ 
     active-port: first listen 
     append waitports active-port 
][ 
     incoming-from-remote: first data 
     print incoming-from-remote 
    ]  
] 

有了客戶端,我可以連接,並通過將其發送的消息,但是當我關閉端口從客戶端,我得到服務器上的以下錯誤:

** Script Error: Out of range or past end 
** Where: forever 
** Near: incoming-from-remote: first data 
print incoming-from-remote 

我該如何處理這個更好?

回答

0

把這個在您的任一阻止

either any [ 
    not incoming-from-remote: copy data 
    "" = incoming-from-remote 
] [ 
    attempt [ 
     close data 
     remove find waitports data 
    ] 
] [ 
    print .. 
] 
相關問題