[英]Ruby TCPSocket read_all
是否有一种方法可以像read_all一样使用,而不是使用TCPSocket.read(no_of_bytes),因此可以简单地使用TCPSocket.read_all。 我先通过YAML :: dump'对象发送对象,然后再发送它们,但是我不知道一种以字节为单位获取对象大小的方法。 预先感谢,ell。 哦,我对任何形式的网络编程都非常陌生,所以请放轻松!
使用Ruby无法为您提供帮助,但是对象序列化和网络连接的通常做法是先发送长度,以便您知道要读取的长度,或者使用预定义的分隔符来分隔消息。
我怀疑是否有这样的功能。 然而! 编写它确实是最简单的部分。 我将不得不使这种语言不可知,因为自从我编写任何红宝石代码以来已经有很长时间了,但是在伪代码中基本上是这样的
def read_all(s)
buffer = ""
while (tmp = s.recv(128))
if tmp == end_of_file
break
end
buffer = buffer + tmp
end
return buffer
end
做完了 循环并接收,直到没有更多可用数据为止。 这是最简单的任务之一:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.