在我的 Android 应用程序中,我需要使用 aSocket
来发送和接收字节数组。为方便起见,我想使用Observable
连接到Socket
.
在互联网上我发现了这个代码:
import rx.lang.scala.Observable
val s = Observable.using[Char,Socket](new Socket("10.0.2.2", 9002))(
socket => Observable.from[Char](Source.fromInputStream(socket.getInputStream).toIterable),
socket => Try(socket.close))
.subscribeOn(rx.lang.scala.schedulers.IOScheduler.apply)
val a = s.subscribe(println, println)
它可以工作,但一次输出一个字符,例如当发送一个“hello there”字符串时,输出是:
I/System.out: h
I/System.out: e
I/System.out: l
I/System.out: l
I/System.out: o
I/System.out:
I/System.out: t
I/System.out: h
I/System.out: e
I/System.out: r
I/System.out: e
但我想在订阅中接收缓冲的字节数组。我怎样才能做到这一点?