小编chr*_*chr的帖子

在Java中停止阻止套接字

我有一个调用服务器的Java套接字。但是,我不知道我可以在哪个地址访问服务器,因此我在多个线程中放置了几个套接字,它们尝试在一个地址上分别访问服务器。我的探究是我不想等待超时,但不知道如何正确停止套接字及其线程。

码:

socket = new Socket();
socket.connect(endpoint, timeout); // **Blocking method**
OutputStream out = socket.getOutputStream();
//Write Data here
Run Code Online (Sandbox Code Playgroud)

如何中断操作?我认为Thread.stop()样式不好,而且也无法正常工作。.NET Tcp端点具有一种非阻塞pending方法,该方法允许uinsg布尔标志,但是我找不到类似的东西

java sockets multithreading network-programming timeout

5
推荐指数
1
解决办法
458
查看次数

处理 XSLT 中的空白

我有一个 xml lists.xml

<?xml version="1.0" encoding="UTF-8"?>
<data>
  <list>
    <item>Salt</item>
    <item>Sugar</item>
  </list>
  <list>
    <item>Eggs</item>
    <item>Butter</item>
  </list>
</data>
Run Code Online (Sandbox Code Playgroud)

和一个 XSLT 样式表 transform.xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
  <xsl:output method="text"/>
  <xsl:template match="//list/item">
    <xsl:text> - </xsl:text>
    <xsl:value-of select="." />
    <xsl:text>&#xa;</xsl:text><!--put a line-break between two list points--->
    <xsl:if test="position() = last()"><!--put another line-break at the end of a list-->
      <xsl:text>&#xa;</xsl:text>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

我的预期输出类似于以下内容:

 - Salt    
 - Sugar

 - Eggs
 - Butter
Run Code Online (Sandbox Code Playgroud)

但相反,当使用撒克逊(或其他处理器)进行转换时,我通过大量输出获得了上述内容。那么如何在 XSLT 中正确处理空白呢?

注意:我对 XSLT 完全陌生,我知道我上面发布的代码可能很糟糕——所以,除了问题之外,我感谢任何建议,使其更优雅/更好地阅读/更快/更短......

xml xslt

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