问题标签 [bidirectional]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
572 浏览

web-applications - 替代 java/flash 在 webapps 中进行低延迟双向通信?

我想设计具有低延迟的网络应用程序(例如游戏)。我认为 ajax 的标头会增加延迟。我真正想要的是一个连接永不中断的协议,客户端和服务器都可以立即相互推送数据。(因此彗星并不是一个真正的选择,因为只有一侧有交流)。最好将数据作为二进制发送并压缩。

编辑:我想要 java/flash/silverlight 的替代品,因为我的平台是 ipad/iphone,它不支持 java/flash/silverlight

请不要推荐任何/需要java/flash/silverlight的东西,谢谢

0 投票
2 回答
301 浏览

mysql - 删除 MySQL 中的双向重复项

我正在修改 phpBB 的表,以便与朋友建立双向关系。不幸的是,已经添加朋友的人创建了重复行:

所以我想从上面的例子中删除第 1 行和第 2 行。目前,这是我构建的查询(在 atm 不起作用):

Mysql Duplicate Rows ( Duplicate detected using 2 columns )的启发,但不同之处在于我没有唯一的 ID 列,我想远离额外的列。

0 投票
1 回答
769 浏览

flash - 我可以通过接收(播放)NetStream 对象的底层 NetConnection 发送消息吗?

这是我的问题:我有一个连接到服务器的 NetConnection 对象。在顶部,我创建了一个 NetStream 对象,它开始播放来自服务器的文件。经典至今。

我现在需要的是能够在播放时间的不同时刻将一些(短)消息发送回服务器,但显然是使用现有的 TCP 连接

从我在文档中可以看到,底层的 NetConnection 对象支持“客户端和服务器之间的双向连接”,显然 TCP 层支持它。我非常了解 TCP 网络概念,但绝对不了解 Flash 如何实现它们。

  1. 它是否正确?可以使用 NetConnection (或其他一些机制)来完成吗?

  2. 我将如何去做(一个例子会很好,但是对该过程的概念性描述也可以)。如何通过 NetConnection 将消息从客户端发送到服务器?

  3. 活动的 NetStream 对象是否会以任何方式干扰此类操作?

谢谢。

0 投票
1 回答
1064 浏览

sql-server - 双向复制 SQL Server 2008

我在询问任何有用的数据或链接以了解双向复制。

0 投票
5 回答
5533 浏览

c# - 两个相互依赖的类

我有相机类,它处理相机行为。其中的字段是对目标的 Cube 类的引用(Cube 只是对象之一,但为了简单起见,我不会提及其他)。为了计算 View 矩阵,我需要相机的位置和目标的位置,所以我可以向我的程序解释:“相机放在这里,从这里看这个立方体”。如果立方体碰巧四处移动,相机的视角也会自动改变。

到目前为止,一切都很好:有一个 Camera 类依赖于 Cube 类,还有一个 Cube 类不依赖任何东西(在这个例子中)。

当我需要绘制一个立方体或其他任何东西时,我遇到了一个问题——为了绘制一些东西,在所需的值中,它是相机的视图矩阵;这就是我刚刚在第一段中计算的那个。本质上,这意味着当我开始在屏幕上绘制东西时,Cube 类也变得依赖于 Camera 类,并且它们现在相互依赖。这意味着我要么:

  1. 需要将Camera类的View矩阵字段设为静态,这样我就可以直接从Cube类中访问了。
  2. 需要在 Cube 类中创建一个方法(例如 SetView),然后我可以从 Camera 类中调用该方法(因为我已经有它的引用)。
  3. 需要将视图矩阵保持在外部范围内。
  4. 需要做一个双向依赖。

但是,我不喜欢其中任何一个:

  1. 有更多的摄像机可以处理多个视图(目前屏幕上有 3 个)并且可能更多(或更少)。
  2. 这使得代码稍微(有时,也许,非常)不可读——例如,当我绘制立方体时,视图矩阵的来源不是很清楚,你只是有点使用它,不要回头。
  3. 我会从相机类访问外部范围,或者外部范围将访问相机,我不喜欢这样,因为外部范围仅用于处理执行机制。
  4. 我喜欢将我的引用字段保持为“只读”,因为它目前在这个系统中无处不在——引用是在构造函数中设置的,并且仅用于从引用的类中获取数据。

而且,如果我没有说清楚,让我重复一下,有多个 Camera 对象,以及多个 Cube 对象;而任何相机可能会或可能不依赖于任何立方体,但通常至少有一个相机依赖于立方体。

任何建议,将不胜感激 :)

0 投票
0 回答
1184 浏览

html - 在选项元素中设置 rtl/ltr 属性,Internet Explorer

Firefox 和 Chrome 支持向dir选项元素添加属性,即

但是,这似乎在 Internet Explorer 7 或 8 中不起作用。有人设法为此找到某种解决方案吗?

0 投票
4 回答
12148 浏览

algorithm - 双向搜索的终止标准

根据我所做的大部分阅读,据说双向搜索算法在“前向”和“后向”边界首次相交时终止。然而,在《人工智能:现代方法》第 3.4.6 节中,Russel 和 Norvig 指出:

双向搜索是通过将目标测试替换为检查两个搜索的边界是否相交来实现的;如果他们这样做了,那么已经找到了解决方案。重要的是要认识到找到的第一个解决方案可能不是最优的,即使两个搜索都是广度优先的;需要进行一些额外的搜索,以确保没有捷径跨越间隙。

我已经考虑了这个声明很长一段时间,但我找不到这种行为的例子。谁能提供一个示例图,其中双向 BFS 或 A* 搜索的前向和后向边界之间的第一个交点不是最短路径?

编辑:显然 BFS 不会在加权图中找到最短路径。听起来这段摘录是指无向图上的双向 BFS。或者,我有兴趣在加权图上查看使用双向 A* 的反例。

0 投票
1 回答
1025 浏览

model-view-controller - c++“双向”观察者模式

我一直在阅读有关如何在 C++ 应用程序中实现正确 MVC 的内容,并且基本上得出了以下观点:有两种实现方式:

  • 观察者模式
  • 信号/槽

但是,在这两种情况下,我阅读的示例都遵循主题可以更改并通知其观察者的结构,但观察者永远不会更改主题。现在这种情况出现了一些“问题”。

假设我有一个名为 Text 的类(一个模型组件),另一个名为 TextEditor 的类(一个 GUI 组件),它以某种方式显示“文本”并且应该能够修改它,还有一些其他类也可以修改“文本” .

对,所以我使用观察者模式,将“文本”作为主题,将“文本编辑器”作为观察者。没什么大不了的。

如果以某种方式更改了“文本”,则 Text 调用 Text::notify() 并且我的 TextEditor 将反映更改。美好的。

现在,如果我使用 TextEditor 来修改 Text 怎么办?

'TextEditor' 知道'Text',所以它调用类似 textInstance.setText(...) 的东西......在 setText 结束时,'Text' 调用 notify,并且'TextEditor' 被通知它自己所做的更改!'Text' 甚至不能向除 'TextEditor' 之外的所有人发送通知,因为它不应该知道它的观察者!

我觉得这是不对的,即使抛开性能原因也不“干净”。我敢打赌有更好的方法来实现这一点,但我被卡住了。有人有提示吗?

我并不是真的在寻找预制的 C++ 实现,而是更多地了解我应该如何正确看待事物。

0 投票
1 回答
966 浏览

c++ - C ++ Boost TCP通道上的序列化对象,双向通信不起作用

我有一个班级,一个非常愚蠢的班级。此类的对象,我想通过 tcp 使用 asio by boost 发送它们。我的班级正确地与提升的东西建立了友谊并实现了方法序列化......

好吧,我希望客户端连接到服务器,将我的对象发送给它,然后服务器发回同一类的另一个对象。

我试图这样做:

在服务器中:

数据是可序列化的类。

在客户端:

好吧,它不起作用。它以某种方式阻塞。

这是古玩,因为问题是这种双向方案,如果我消除线 Q,W,X,Y 它工作!你知道如何解决这个问题吗?

0 投票
4 回答
251 浏览

generics - 双向关联中的泛型

假设我有两个类 A 和 B,B 是 A 的子类型。显然,这只是更丰富的类型层次结构的一部分,但我认为这无关紧要。假设 A 是层次结构的根。有一个集合类 C 跟踪 A 的列表。但是,我想让 C 成为通用的,以便可以创建一个只保留 B 而不会接受 A 的实例。

上面的代码显然给出了错误 'type mismatch: found C[B], required C[A]' 就new B(c)行了。

我不确定如何解决这个问题。不可能使 C 在 T 中协变(如C[+T <: A]),因为 ArrayBuffer 在 T 中是非可变类型的。不可能使 B 的构造函数需要 C[B] 因为 C 不能是协变的。

我在这里吠错树了吗?我是一个完整的 Scala 新手,所以任何想法和提示都可能会有所帮助。谢谢!

编辑:基本上,我想要的是编译器同时接受

但会拒绝

可能可以将 C 中 ArrayBuffer 的类型放宽为 A 而不是 T,因此在 addEntry 方法中也是如此,如果这有帮助的话。