我有一个回调函数,我在其中尝试写入我在重写的ReadAsync()中读取的数据.
private void StreamCallback(byte[] bytes)
{
Console.WriteLine("--> " + Encoding.UTF8.GetString(bytes)); // the whole application is blocked here, why?
if (OnDataReceived != null)
{
string data = Encoding.UTF8.GetString(bytes);
OnDataReceived(data);
}
}
Run Code Online (Sandbox Code Playgroud)
重写的ReadAsync()如下所示.
public override async Task<int> ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken)
{
var read = await _originalStream.ReadAsync(buffer, offset, count, cancellationToken);
_readCallback(buffer);
return read;
}
Run Code Online (Sandbox Code Playgroud)
我实际想要实现的是在XmlReader解析之前监视网络流.这与我的另一个问题有关> 同时从同一个SslStream中读取?<.我该怎么办?
更新:
它实际上Encoding.UTF8.GetString(bytes)是阻止应用程序.为了使问题更加完整,我列出了用于读取XML流的代码.
using (XmlReader r = XmlReader.Create(sslStream, new XmlReaderSettings() { Async = true }))
{
while (await r.ReadAsync()) …Run Code Online (Sandbox Code Playgroud) TLDR:如何在具有不同对象类型的TreeView中实现 JavaFX 8 TreeItem?
我有具有以下对象结构的 XML 配置。
[Configuration] --- has 1-n ---> [Group] --- has 1-n ---> [Topic]
我想在TreeView中显示此结构,如下所示。
Groups
|
+-- Group A
| |-- Topic A
| |-- Topic B
|
+-- Group B
|-- Topic C
|-- Topic D
Run Code Online (Sandbox Code Playgroud)
阅读TreeItem文档后,我只是想不出解决方案,因为我的结构中的对象不是同一类型,所以我不能像TreeItem的示例中那样定义一个TreeItem<T>with 。TreeItem<File>
我想知道如何为上述结构定义一个设计良好的模型,以满足以下要求。
有任何解决方案或现有解决方案的好文章吗?
我决定赚更多的钱,并为Android开发我的第一个应用程序。当我想用一个部署我的应用程序(只是IntelliJ / Android SDK中的框架代码)MainActivity时,出现以下错误。
运行日志如下所示。
5/07 21:32:35:启动应用
$ adb install-multiple -r -t
C:\ Users \ Tony \ Code \ Java \ PureWallpaper \ app \ build \ intermediates \ split-apk \ debug \ slices \ slice_7.apk C:\ Users \ Tony \ Code \ Java \ PureWallpaper \ app \ build \ intermediates \ split -apk \ debug \ slices \ slice_6.apk C:\ Users \ Tony \ Code \ Java \ PureWallpaper \ app \ build \ intermediates \ …