小编Aer*_*rik的帖子

我可以将 WebRTC 中的“报价”重新用于多重连接吗?

我开始学习 WebRTC 并在此处使用复制/粘贴有一个工作原型:https : //github.com/aerik/webrtc(该原型旨在在两个浏览器窗口中运行,与许多其他同时运行的示例不同)在一个窗口)

我知道 WebRTC 是点对点的,我需要为每组对等点建立连接。但是,我开始考虑发信号(还没有代码),我想知道“要约”。在我的原型中,我看到多次单击“创建报价”会产生相同的字符串。所以,如果有客户端 A,并连接到客户端 B 和 C,看起来我会向他们发送相同的“报价”。如果那是正确的,它使发送信号的第一步变得容易 - 客户端 A 将始终具有相同的报价,而我只需要收集来自已连接对等方的响应。

这是正确的理解吗?

javascript webrtc

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

向SQL Server添加索引是一个坏主意吗?

我们有一个基于SQL Server的中型应用程序没有定义索引.甚至没有在标识列上.我建议我们适度昂贵的应用程序顾问,通过在适当的字段上创建一些索引,我们可能会获得更好的性能(特别是当我们的数据库增长时),他说:

"索引将显着影响应用程序的其他领域,客户不应在任何情况下创建它们."

有人听说过这样的事吗?是否有人不应该创建任何索引?我可以看到这个应用程序没什么特别的 - 它有int标识列,然后是很多字符串列,一堆关系表,但没有什么特别的或奇怪的,我可以看到.

谢谢!

[编辑:标识列没有使用"身份规范",他们似乎由程序设定,寻找与Management Studio中的数据库,我能找到NO索引...]

关注:在一次会议上,我询问了生产这种产品的公司的首席执行官(和首席架构师),他的回答是,他们认为对于中小型部署,与维护索引相关的开销会对整体用户产生更大的负面影响.经验(应用程序执行大量写入)比索引的好处会抵消,但对于大型数据库,它们确实创建了索引.这位技术支持人员过于热心,对他的回答毫无帮助.谜团已揭开.

sql-server indexing

9
推荐指数
2
解决办法
5228
查看次数

使用Visual Studio设计器组件进行数据的优缺点是什么

我在工作中继承了一堆程序,原作者使用Microsoft Visual Studio的数据组件(数据集,数据适配器等)在设计环境中(从工具箱或使用向导)创建.这产生了一些半定制的(专用于数据)类,并且还将SQL代码放入设计器生成的类中.

这不是我习惯做事的方式(我总是喜欢明确地拥有数据集,或者创建我自己的专用类来保存数据并隐藏底层数据层的复杂性).

有没有人有一些很好的见解或链接讨论使用Visual Studio数据组件的利弊?

(旁注,原作者也没有非常彻底地评论,并且根据我的口味,写了一些不太容易解释的"聪明"代码,所以我不倾向于认为他比我更了解.)

我想另一种提问方式是:使用数据设计器组件是否会产生"遵循最佳实践"且可维护的代码等?对我来说似乎不是这样,但我正在寻找专家的意见.

[编辑:增加了一些澄清意图的背景]

如果我是正确的(我看起来像是)关于使用最适合原型等的设计师组件,那么我将不得不与原始开发人员和我的经理进行一些艰难的对话.所以我想更多地强调"讨论利弊的链接"我的问题的一部分......我正在寻找一些可以用来支持我声称这种风格的开发/代码不是最多的东西适合生产使用......谢谢.

visual-studio

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

当我不关心字典的类型时,如何将字典作为参数传递?

与此问题类似:

将Dictionary <string,string>转换为单个聚合字符串表示的最佳方法?

但是我想忽略Dictionary中的类型,因为我打算调用每个键和值的ToString()方法.

我认为它不应该是一个问题,但我无法弄清楚如何传入一个无类型的字典,而不仅仅是把它作为对象...任何想法?

[编辑]添加工作代码片段:这是有效的 - 感谢twoflower

public string DumpDictionary<TKey, TElement>(IDictionary<TKey, TElement> dictionary)
{
      StringBuilder sb = new StringBuilder();
      foreach (var v in dictionary)
      {
           sb.AppendLine(v.Key.ToString() + ":" + v.Value.ToString());
      }
      return sb.ToString();
 }
Run Code Online (Sandbox Code Playgroud)

c# dictionary stringify

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

如何以编程方式设置默认启动器应用程序?

可能重复:
Android:更改默认主页应用程序

我想创建一个像" Home Switcher "这样的程序,可以通过编程方式设置默认启动器.我还没有编写代码,但可以找出如何找到可用的启动器应用程序,但我不知道如何以编程方式设置默认值.谁能指出我正确的方向?

android launcher android-launcher

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

WebRTC 在本地连接上连接,但在 Internet 上发生故障

我有一些正在运行的测试代码,用于尝试学习 WebRTC 的基础知识。即使我使用 TURN 服务器(一侧显示“正在检查”状态,另一侧显示“失败”状态),此测试代码也可在 LAN 上运行,但不能通过 Internet 运行。我可以看到 SDP 中有 ice 候选者,所以我不需要明确发送它们(对吗?)。

这会将大量调试信息写入控制台,因此我可以告诉我的信令服务器正在工作。我被卡住了 - 我需要在我的代码中做些什么不同的事情才能让它在互联网上工作?

顺便说一句,我在我的测试计算机之间运行了其他 WebRTC 演示脚本,并且它们确实有效(例如 opentokrtc.ocom)

<html>
<head>
<title>test</title>
<script type="text/javascript">
var curInvite = null;
//create an invitation to connect and post to signalling server
function CreateInvite(){
    //function to run upon receiving a response
    var postRespFunc = function(txt){
        console.log("Posted offer and received " + txt);
        var invite = txt;
        curInvite = invite;
        document.getElementById("inviteId").innerHTML = invite;
        //then poll for answer...
        var pollFunc = function(){
            GetRequest("answered?"+invite,function(txt){
                if(txt){
                    //assume …
Run Code Online (Sandbox Code Playgroud)

javascript webrtc

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

如何进行div伸展以包含一个包含的表?

我有一张桌子有时比div里面宽- 这会导致我的桌子越过div边界.

我怎样才能div伸展所以div边框总是在桌子周围?

如果缩小结果窗格,此小提示将显示此问题.

div#wrapper{
    margin: 2em;
    padding: 1em;
    border: 1px solid black;
    width: auto;
}
Run Code Online (Sandbox Code Playgroud)
<div id="wrapper">
    <table border="1">
        <tr>
            <td>stuff</td>
            <td>stuff</td>
            <td>stuff</td>
            <td>stuff</td>
            <td>stuff</td>
            <td>stuff</td>
            <td>stuff</td>
            <td>stuff</td>
            <td>more stuff</td>
            <td>more stuff</td>
            <td>more stuff</td>
            <td>more stuff</td>
            <td>more stuff</td>
        </tr>
    </table>
Run Code Online (Sandbox Code Playgroud)

css html-table

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

我的 Android 应用程序需要 Play 商店中的“其他”权限 - 这是什么意思以及如何解决?

我刚刚(在 Alpha 版中)在 Play 商店中发布了一个 SMS 转发应用程序。当我单击“权限:查看详细信息”时,它会显示“此应用可以访问:?其他”。这是为什么?我能做些什么来修复它(所以它仍然可以正常工作,作为 SMS 转发器,但说的是比“?其他”更有用的东西)?

以下是我的清单中的权限:

<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
Run Code Online (Sandbox Code Playgroud)

谢谢!

android google-play android-permissions

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

如何在C#中使用静态工厂方法创建基类?

我需要使用两个自定义文件读取器类之一; 一个读取固定宽度文件,一个读取CSV文件.这些读者中的每一个都具有某些属性等.我想使用工厂方法并拥有私有构造函数,因此我可以在创建对象之前运行一些业务逻辑.

编辑:更好的例子

//simple class with it's own factory method
class Class1
{
    private Class1()
    {
        //constructor code
    }
    public static Class1 CreateClass()
    {
        //do some business logic here
        return new Class1();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是定义一个基类,然后覆盖工厂.我想问题是静态类属于基类CLASS,所以永远不能被覆盖,即使它们是继承的.这段代码有效

public class BaseClass
{
    //some common properties / fields here
    public string SomeField;

    //some common methods here

    //empty constructor
    protected BaseClass() { }

    //cannot have a virtual static class!  
    //Would really like to make this a virtual method
    public static BaseClass CreateClass() 
    {
        throw new …
Run Code Online (Sandbox Code Playgroud)

c# static factory

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