小编Ton*_*ark的帖子

为什么Console.WriteLine()在Stream.ReadAsync()的回调中阻塞?

我有一个回调函数,我在其中尝试写入我在重写的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)

c# io console

9
推荐指数
1
解决办法
944
查看次数

如何在 JavaFX 8 中为复杂的 TreeView&lt;T&gt; 定义简单模型?

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>

我想知道如何为上述结构定义一个设计良好的模型,以满足以下要求。

  • 根据叶子的类类型显示不同的上下文菜单
  • 可以在树的任何级别插入和删除叶子
  • 轻松访问叶对象,以便我可以调用它们的 getter/setter
  • 当模型改变时树自动更新

有任何解决方案或现有解决方案的好文章吗?

java treeview javafx-8

4
推荐指数
1
解决办法
5777
查看次数

通过Samsung Galaxy S10 +上的IntelliJ / Android SDK调试Android应用程序会导致“安装APK时出错”

我决定赚更多的钱,并为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 \ …

android intellij-idea android-studio

4
推荐指数
1
解决办法
419
查看次数

标签 统计

android ×1

android-studio ×1

c# ×1

console ×1

intellij-idea ×1

io ×1

java ×1

javafx-8 ×1

treeview ×1