我在创建Java目录的符号链接时遇到了麻烦.我正在使用Files类中的createSymbolicLink()方法:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html
绝对路径:
/some/path/target
/some/path/xxx/linkname
我希望,在目录的链接/some/path/xxx/
中创建的文件夹/some/path/target
,而是从一个链接/some/path/xxx/linkname
到/some/path/xxx/target
被创建.我只是无法弄清楚我做错了什么.
当我从中创建链接/some/path/linkname
时/some/path/target
,一切都按预期工作.
任何帮助是极大的赞赏.
编辑:这是我的代码:
Path records = Paths.get(Properties.getProperty("records.path"));
Path recordsLink = Paths.get(Properties.getProperty("webserver.root") + System.getProperty("file.separator") + records.getFileName());
try {
Files.createSymbolicLink(recordsLink, records);
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
"records.path"和"webserver.root"都是相对路径.
实际上我刚刚找到了问题的解决方案:如果我这样做,它会起作用:
records = records.toAbsolutePath();
Run Code Online (Sandbox Code Playgroud)
我假设createSymbolicLink()
将使用绝对路径来创建链接,这是错误的.
我正在尝试为我的样式组件创建一个包装器,但我无法正确获取类型。
假设我有一个这样的样式组件:
const Button = styled.button<ButtonProps>`
background-color: ${(props) => props.color};
`;
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个包含此样式按钮的包装组件,例如。像这样:
const WrappedButton: React.FunctionComponent<ButtonProps> = ({ children, ...rest }) => (
<div>
<Button {...rest}>{children}</Button>
</div>
);
Run Code Online (Sandbox Code Playgroud)
现在这一切都工作正常,但我真正想要的是WrappedButton
组件接受该Button
组件将接受的所有道具并将它们传递给包装的Button
组件。
例如,我希望编译它,因为 type 是 HTML 按钮元素的有效属性(因此也是 Button 组件的有效属性,但在包装 Button 组件时不是):
// TypeScript will throw an error because "type" is not a valid prop of WrappedButton.
const MyComponent = () => <WrappedButton type="submit">Test</WrappedButton>
Run Code Online (Sandbox Code Playgroud)
我知道我可以将“type”作为 WrappedComponent 的 props,但这不是重点,我希望 WrappedComponent接受普通 HTML 按钮会接受的所有 props。
编辑:我还需要包装组件上的所有样式组件特定道具,例如as
样式组件的道具。这是代码沙箱的更新版本: …
解析 YAML 时出现奇怪的错误:
yaml.scanner.ScannerError: mapping values are not allowed here
Run Code Online (Sandbox Code Playgroud)
根据YAML Lint,我尝试读取的 YAML 文件是有效的
另一个奇怪的事情是它在我的笔记本电脑(Arch Linux)上运行良好,但在服务器(Ubuntu)上运行不正常。尽管两台机器上的 PyYAML 版本是相同的。
我在 stackoverflow 上看到过 其他帖子,其中人们缺少冒号后面的空格,但我没有缺少任何空格。
这是完整的 YAML 文件:
yaml.scanner.ScannerError: mapping values are not allowed here
Run Code Online (Sandbox Code Playgroud)
这是完整的堆栈跟踪:
Traceback (most recent call last):
File "/usr/local/bin/someproject", line 9, in <module>
load_entry_point('someproject==0.0.1', 'console_scripts', 'someproject')()
File "/usr/local/lib/python3.4/dist-packages/someproject-0.0.1-py3.4.egg/someproject/__init__.py", line 19, in main
pipeline.Pipeline(parser.parse_args().scriptfile).start()
File "/usr/local/lib/python3.4/dist-packages/someproject-0.0.1-py3.4.egg/someproject/pipeline/pipeline.py", line 20, in __init__
self._raw_pipeline = self._parse_yaml(yamlscript)
File "/usr/local/lib/python3.4/dist-packages/someproject-0.0.1-py3.4.egg/someproject/pipeline/pipeline.py", line 55, in _parse_yaml
data = yaml.load(yamlscript)
File "/usr/local/lib/python3.4/dist-packages/PyYAML-3.11-py3.4-linux-x86_64.egg/yaml/__init__.py", line 72, in load …
Run Code Online (Sandbox Code Playgroud) 我花了几天时间寻找连接问题,但没有任何运气。我正在尝试使用Kurento实现一个相对简单的one2one呼叫。
在下面,您会找到Kurento的调试日志,其中说明了可以建立连接和连接失败的情况。
如果您需要更多日志(例如,客户端,信令服务器,tcpdumps或Kurento的跟踪日志),请告诉我,我会提供!
任何帮助或新的投入,我们将不胜感激!
问题描述:
在大约30%的情况下,无法建立WebRTC连接。不幸的是,当可以建立Connection时,我缺乏任何形式,而当不能建立连接时,它似乎是完全随机的。我在同一网络中,使用相同的设备,使用相同的TURN服务器,使用相同的信令协议,但是在30%的情况下无法建立连接。
当我在本地运行应用程序时,它似乎更可靠地工作,几乎可以在100%的时间内建立连接(或者甚至有100%的时间可以建立连接,我已经测试了很多次了,但我都失去了跟踪)。我使用docker在本地设置基础架构,并在单独的网络中运行不同的容器(TURN,Kurento和Signalling)以模仿生产部署。
我们在开发和生产环境中会遇到相同的行为。在我们的开发环境中,我们绝对没有防火墙,因此这似乎不是问题。
我试图找出问题原因的原因:
通常,我一直在比较有效案例和无效案例的日志,但是我没有发现它们之间的任何重大差异都可以指出问题所在。
我已经通过TURN服务器(使用Firefox和force_relay标志)以及通过Kurento直接测试了WebRTC连接,但是在这两种情况下,大约30%的情况下连接均失败。
我尝试过滤不是中继候选者的所有ICE候选者。
我已经嗅探了我们的信令服务器(也控制Kurento)和Kurento之间的流量,以查看所交换的JSON RPS消息是否存在任何差异,但它们看起来基本相同。
我已经使用以下工具测试了我们的STUN和TURN服务器:https : //webrtc.github.io/samples/src/content/peerconnection/trickle-ice/,我同时获得了serverreflexive和中继候选者,它们看起来都是正确的
我已经从成功的连接和不成功的连接中窃听了来自客户端的流量,但是可能会发现很大的不同
我简化了Kurento媒体管道(没有记录,没有集线器),但是行为是相同的
我使用了不同的浏览器(Chrome,Firefox和本机iOS实现),但是行为是相同的
Kurento调试日志,说明可以建立连接的情况:
https://gist.github.com/omnibrain/2bc7ad54f626d278d3c8bac29767ac4c
无法建立连接的情况下的Kurento调试日志:
https://gist.github.com/omnibrain/f7caee04a5c6d77ea22a9ccfa95dd825