我们试图通过HTTPS / WSS让Socket.io flashsockets在Internet Explorer 9中工作。 闪存卡通过HTTP工作,但HTTPS给我们带来了问题。 我们使用socket.io版本0.8.7和socket.io-client版本0.9.1-1。 我们通过端口443上的SSL运行我们的websocket服务器。我们已经在正确的位置指定了我们的WebsocketMainInsecure.swf文件的位置(这些是跨域ws请求),并且我们正在swfobject中embedded文件通过HTTPS。 我们在我们的EC2实例的安全组中打开了端口843,跨源策略文件成功通过HTTP呈现。 它似乎不通过HTTPS呈现(Chrome会引发SSL连接错误)。 我们已经尝试了两个版本的WebsocketMainInsecure.swf文件。 首先是由Socket.io提供的文件,它由WebsocketMainInsecure.as构build,不包含行 Security.allowInsecureDomain("*"); 这会引发错误SCRIPT16389: Unspecified error. 在WebSocket.__flash.setCallerUrl(location.href)一行。 我们认为这是因为SWF文件不允许HTTPS请求,所以我们用在这个repo上find的文件replace了WebSocketMainInsecure.swf文件: https : //github.com/gimite/web-socket-js,因为它包括 Security.allowInsecureDomain("*"); 在actionscript代码行。 当我们使用这个时,我们看到flashsocket连接保持断开连接并在无限循环中重新连接。 我们将错误追踪到Transport原型上的onSocketError函数的socket.io库中的transport.js文件。 它引发错误: [Error: 139662382290912:error:1408F092:SSL routines:SSL3_GET_RECORD:data length too long:s3_pkt.c:503:] 我们甚至试着将socket.io和socket.io-client更新到版本0.9.6,我们仍然得到了Access is denied错误。 这个错误非常难以debugging,现在我们不知道如何让FlashSocket工作。 我们想知道是否可能需要使用旧版本的socket.io,或者我们的策略文件服务器不接受HTTPS请求,或者甚至可能来自Web的WebSocketMainInsecure.swf文件, socket-js github repo是根据socket.io-client的期望build立的。
我在ColdFusion 9上遇到了一个问题,它在ColdFusion 8下完美运行。在浏览器中查看Flash表单时,表单元素本身显示正确,但是每个字段的数据不会在input元素中呈现,提交表单时不存在。 当页面加载时,我得到一个错误: 964024021.mxml.cfswf:1 ReferenceError: Can't find variable: updateHiddenValue 函数updateHiddenValue是在/CFIDE/scripts/cfform.js定义的/CFIDE/scripts/cfform.js ,它正在被加载到页面中。 如果我使用控制台并直接运行该function,它运行没有问题: 为了弄清楚为什么会发生这种情况,我打开了查尔斯,看了看服务器的请求。 正如你可以在下面的屏幕截图中看到的,.js文件接收到200个响应,表明它们很好,但是cfswf请求正在收到“连接closures”错误,然后是200个请求。 cfswf请求显然是正确完成的,否则我根本看不到flash表单。 所以我需要弄清楚为什么我得到这些.js错误,所以我可以得到这个Flashforms的工作。 我只能假设错误是从事物的闪光面或通过Flash Remoting(?),我不知道如何debugging这个问题,让事情向前发展。
这个问题仍然得到很多upvotes。 所以看看Update3。 一旦你有upvoted,评论,回答,请请请雷达 查看nib / xib,修改该文件,迫使我提交更改或撤消更改。 这是不是一个问题,直到有合并冲突。 细节:我在一个由5名iOS开发人员组成的团队中工作,以及最后几个版本的XCode,当任何人打开文件(不作任何改动)时,遇到.xib / nib文件被触碰/修改的问题。 如果一个开发人员认为“拧紧它,让我检查xcode做的任何修改”并检查它,它不会停在那里。 当另一个开发者查看该笔尖时,两个不同机器上的相同文件(具有相同版本的XCode和MacOS)将再次被触摸/修改。 通常在.xib文件中被修改的是这个 <key>com.apple.ibtool.document.version-history</key> <dict> <key>interface-builder-version</key> <dict> <key>com.apple.InterfaceBuilderKit</key> <string>2844</string> <key>macosx.version</key> <string>12C60</string> </dict> </dict> <key>com.apple.ibtool.document.warnings</key> <dict/> 但除此之外,它还修改或移动.xib文件中现有的键值对。 我在SO和Google上search了很多东西,而且在这个问题上我还没有看到很多post。 当我升级所有的笔尖来处理iPhone5的屏幕时,我曾经遇到过一次合并冲突的噩梦,这本身并不是太复杂,但由于文档版本的原因而导致了大量的合并冲突。 删除代码我不明白,导致xcode崩溃时,我试图打开笔尖。 (我现在已经解决了这个问题,回复到之前的情况) 任何意见如何避免这个问题,表示赞赏! 更新:已经注意到,这还没有解决,而且还经常上升。 我只是好奇,做任何故事板项目遇到同样的问题? (我还没有在故事板上工作过)。 更新2:对于遇到同样问题的所有人,即使您收到有雷达回应的报告,也请提交雷达。 它有助于将问题提升到顶端,而XCode的神只会解决它。 Update3:我在这个主题上仍然看到不less赞扬,苹果bug报告仍然是开放的。 所以,在提出这个问题之后, 请提供一个雷达 ,详细介绍我在问题中提到的细节(和/或添加自己的解释) Update4:这个问题仍然有很多upvotes。 所以看看Update3。 一旦你有upvoted,评论,回答,请请请雷达 Update5:根据WWDC 2014上苹果工程师的信息,这个问题已经在Xcode6中得到修复。 一旦我确认这个问题已经解决,我会更新这个问题(可能会closures它)。 Update6:希望看到这个固定的。 在WWDC2015会问这个问题(通过我认识的人,谁去那里)。 如果其他获得WWDC票的幸运者也可以在WWDC 2015上做同样的事情 更新7:Xcode 7在这里,这个错误也是:(原始的雷达报告(11533872)仍然是开放的
我正尝试使用WebRTC在屏幕上显示videoinput作为实时馈送。 我不是想做任何对等的通讯或类似的东西,只是显示一个video源。 代码我有我的笔记本电脑集成摄像头工作正常,但是当我连接外部videoinput设备(在这种情况下,通过S-Video连接到USBinput使用StarTech转换器的旧摄像机 – 型号SVID2USB2NS),我什么也没得到。 我已经在Chrome和FireFox中试过了。 这两个浏览器findvideo设备,并提供我的集成摄像头或USB设备(在这种情况下列为“USB 2820”)的select,所以他们知道在这种情况下的设备。 在Chrome中,当我尝试连接时,getUserMedia调用的“成功”callback被调用,如果我.getVideoTracks()findMediaStreamTrack ,并且callback的时刻, MediaStreamTrack返回enabled = true和readyState = live 。 然而,没有videoinput(只是一个黑色的video面板,Chrome浏览器标签中的红色“录制”图标没有出现)。 如果我稍后再检查MediaStreamTrack,我发现readyState now =“ ended ”(虽然启用仍然成立)。 在FireFox中,find了设备,但是使用getUserMedia连接到它的任何尝试都会触发错误callback,并带有HARDWARE_UNAVAILABLE错误。 我的getUserMedia调用很简单: navigator.getUserMedia({ audio: false, video: true }, _webRTCsuccessCallback, _webRTCerrorCallback); 我的成功callback是(包括一些testing代码立即检查MediaStreamTrack和一秒钟后): function _webRTCsuccessCallback(stream) { window.stream = stream; // stream available to console if (window.URL) { _video.src = window.URL.createObjectURL(stream); } else { _video.src = […]
我正在尝试将Disqus SSO集成到我的网站中。 var DISQUS_SECRET = "xyz"; var DISQUS_PUBLIC = "abc"; var disqus_developer = 1; function disqusSignon() { var disqusData = { id: "{{ user.id }}", username: "{{ user.username }}", email: "{{ user.email }}" }; var disqusStr = JSON.stringify(disqusData); var timestamp = Math.round(+new Date() / 1000); var message = window.btoa(disqusStr); var result = CryptoJS.HmacSHA1(message + " […]
过去,我已经为几个项目构build了基于PHP的“健康检查”脚本,但是它们总是为这个场合定制的,而不是作为独立产品的抽象。 我想知道这样的解决scheme是否存在。 我所说的“健康检查”是一个受保护的网页,其function非常类似于一套unit testing,但在更多的操作层面上,显示红/黄/绿等状态 caching目录是否可写? PHP版本是否正确,是否需要安装扩展? 数据库服务器是否可达? 数据库中是否存在必要的表格? 有足够的磁盘空间可用吗? 该网站的首页是否可以访问并完全呈现(=没有PHP错误)? 该项目的图书馆的MD5校验和是否与原来的相匹配? 首页的输出是否通过了W3Cvalidation器? 你是否在应用程序和网站上这样做 – 或者其中的一部分? 是否有任何标准化的工具,带来所有的function来执行testing(理想的插件),只需要相应的configuration? 我正在谈论的是一个轻量级的解决scheme,即使在最小的基于PHP的Web包中也可以运行,没有扩展和服务器访问。 有没有,也许,有一种方法来设置这个使用unit testing框架可用于PHP(最好是PHPUnit)之一? 如果是这样,你知道任何资源/教程概述如何? 更新:似乎没有一个stream行的现成解决scheme,否则,有100多个意见,我相信会有一些提及它。 看到build立这样的工具作为一个开源项目有一些初步的兴趣,请随时发布一个理想的解决scheme,你会看起来像什么,它将具有什么function。
当RTL块包含多个赋值给同一个寄存器时,我无法理解堪萨斯熔岩的行为。 这是版本号1: foo :: (Clock c) => Signal clk Bool foo = runRTL $ do r <- newReg True r := low return $ var r 这performance得如我所料: *Main> takeS 10 foo :: Seq Bool low | low | low | low | low | low | low | low | low | low | ? […]
我最近使用三重缓冲区的std :: atomic将C ++ 11作为端口,用作并发同步机制。 这个线程同步方法背后的想法是,对于生产者 – 消费者的情况,你有一个运行速度更快的生产者,消费者,三重缓冲可以给一些好处,因为生产者线程不会因为等待而“放慢”为消费者。 在我的情况下,我有一个更新为〜120fps的物理线程和一个以〜60fps运行的渲染线程。 很明显,我希望渲染线程总是获得最近的状态,但是我也知道,由于速率的不同,我将跳过物理线程中的很多帧。 另一方面,我希望我的物理线程保持其不变的更新速度,而不会被较慢的呈现线程locking我的数据所限制。 原来的C代码是由remis-thoughts制作的,完整的解释在他的博客里 。 我鼓励任何有兴趣阅读的人进一步了解原始实施。 我的实现可以在这里find。 基本思想是在任何给定的时间,有一个有3个位置(缓冲区)和一个primefaces标志的数组,它们被比较和交换来定义哪个数组元素对应于什么状态。 这样,只有一个primefacesvariables用于模型数组的所有3个索引和三重缓冲背后的逻辑。 缓冲区的3个位置被命名为Dirty,Clean和Snap。 生产者总是写入脏指数,并且可以翻转书写器以将脏指数与当前的干净指数交换。 使用者可以请求一个新的Snap,它使用Clean索引交换当前的Snap索引以获得最新的缓冲区。 消费者总是在Snap位置读取缓冲区。 该标志由一个8位无符号整数组成,这些位对应于: (未使用)(新写入)(2个脏)(2个清理)(2个捕捉) 新的写额外位标志由写入器设置并由读取器清除。 读者可以使用它来检查自上次捕捉以来是否有任何写入,如果没有,则不会再捕捉。 标志和索引可以使用简单的按位操作来获得。 好的,现在的代码: template <typename T> class TripleBuffer { public: TripleBuffer<T>(); TripleBuffer<T>(const T& init); // non-copyable behavior TripleBuffer<T>(const TripleBuffer<T>&) = delete; TripleBuffer<T>& operator=(const TripleBuffer<T>&) = delete; T snap() const; // get […]
我依赖于为x64编译的混合模式程序集。 因为我不想在构build中发出警告,所以我的解决scheme中的所有项目都直接针对x64 – 它们不是任何CPU。 为了让我的x64unit testing正常工作,我发现每次启动Visual Studio时都必须手动将Visual Studiounit testing默认处理器架构更改为x64。 这很简单,但是很乏味。 有没有办法让VS坚持这个设置,这样我就不必每次都这么做了?
问题 到目前为止,对stream的exception支持是可怕的。 当Boost.System库被采用到C ++ 11中时,人们给人的印象是exception会改善。 所有的更改都是用std::system_errorreplacestd::exception 。 虽然<system_error>对开发人员来说是一个很好的库,但是标准委员会和标准库实现者并没有采取任何措施来改进exception消息。 想知道它有多糟糕,下面简要总结一下: 发生错误。 setstate用于设置badbit或failbit 。 clear由setstate 。 如果启用了exception, clear将会抛出一个ios_base::failure 。 是的,这意味着所有的错误都抛出了相同的无用的exception消息。 这是在basic_ios级别指定的,所以所有的派生类都会遇到这个问题。 违规报价: (iostate.flags)/ 4 效果 :如果((state | (rdbuf() ? goodbit : badbit)) & exceptions()) == 0 ,则返回。 否则,该函数会抛出类basic_ios::failure (27.5.3.1.1)的对象fail ,该对象由实现定义的参数值构造。 以下是“实现定义的参数值”给我们的例子: ios_base::clear: unspecified iostream_category error 有一个简单的修复? Boost.Filesystem和Boost.Iostreams都不能替代<iostream> 。 前者是一个可移植的处理文件系统的库(可能会出现在下一版C ++中),而后者与..Sources和Sinks有关。 该文档指出,它将exception委托给ios_base::failure 。 Boost.Filesystem提供<boost/filesystem/fstream.hpp> ,它使用path而不是const char*参数来open() 。 它显示了一个如何从标准库类inheritance的例子: […]