是的,不是吗?
我怎样才能实现这样的目标:
在客户端
loop do
socket.read(MAX_LEN)
socket.pause_read # the client is busy, do not send any more data, similar to: C system call shutdown(sock, SHUT_RD)
# ... working
socket.resume_read # the client is ready to work again.
end
在服务器端
loop do
rd, wr, _ = select(rdsockets, wrsockets)
# wr is an array fill of clients ready to work
wr.each {}
end
PS:可以使用 C 或 Ruby 提供帮助。先感谢您。
编辑:传入数据具有预定义的格式,并且传入数据的长度会有所不同。
EDIT2:操作系统:Linux