Hello, A newbie REBOL user, I'm trying to do 2-way communication over TCP/IP using REBOL. I've two connections established between two nodes, so each is independently a "server" and "client" to the other. The connection and communication works fine, that's not the problem. The problem comes in trying to essentially "multi-thread" the overall program so it can both talk and listen "at the same time." To read what's coming in from the remote node on port "remote", I've tried both of these two approaches: data: first remote read-io remote data size However, both approaches cause the problem of HANGING until data arrives on the port "remote" (or ultimately the port times out). Of course, when that happens, there's no way I can get back around to service the talker side of things. What I need is something like input? for a port... telling me if there is data available or not. If not, I can go check for data to send. If so, I can grab it and use it. Can anyone point me to the solution... I now there's gotta be one, I'm just not seeing it! Thanks, Russ