小编Mar*_*oth的帖子

在.NET中指定UDP多播应该使用的网络接口

在具有活动无线卡和LAN端口的计算机上,交叉电缆连接到运行相同应用程序的另一台计算机,我们需要通过LAN线路将UDP多播发送到另一台计算机.使用C#套接字,Windows似乎每次尝试通过WLAN适配器路由消息.

有没有办法指定发送UDP多播的网络接口?

.net c# sockets udp multicast

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

使用Google App Engine的实时多人游戏是否可行?

我目前正在开发一款实时多人游戏,并且一直在评估各种基于云的托管解决方案.我不确定App Engine是否符合我的需求,并会对任何反馈表示感谢.

从本质上讲,我希望系统能够像这样工作:玩家A计算第n轮,并在该轮结束时生成游戏状态的哈希.然后,他将该轮的命令和散列作为http POST发送到服务器.玩家B同时做同样的事情.

服务器在处理来自播放器的POST时,首先将收到的哈希码写入内存缓存.如果来自其他播放器的散列还没有在memcache中,它会等待并定期检查memcache以查找其他玩家散列.只要两个哈希都在memcache中,它就会将它们进行相等性比较.如果它们相等,则服务器将每个播放器的命令作为http响应发送给相应的另一个播放器.

这样的一轮应该持续大约半秒钟,这意味着每位玩家每秒两次请求.

当然,这种方式只有在至少有两个应用程序实例运行时才能工作,因为必须并行处理两个请求.此外,内存缓存必须在所有实例上保持一致,相当可靠,并立即更新.

我不能使用XMPP,因为我希望我的游戏能够在受限制的网络中运行,所以它必须限制在端口80上的http.

有没有办法强制应用程序的两个实例始终运行?我的设计中是否存在明显的缺陷?您认为这样的架构可能适用于App Engine吗?如果没有,您会建议基于云的解决方案?

google-app-engine multiplayer cloud-hosting

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

Javascript中的{} + []

可能重复:
CodeMash 2012的"Wat"演讲中提到的这些奇怪的JavaScript行为的解释是什么?

当我输入

{} + []
Run Code Online (Sandbox Code Playgroud)

我得到了谷歌Chrome JavaScript控制台

0
Run Code Online (Sandbox Code Playgroud)

结果是.但是,当我输入

Function("return {} + []")()
Run Code Online (Sandbox Code Playgroud)

我明白了

"[object Object]"
Run Code Online (Sandbox Code Playgroud)

结果是.我认为两个操作都应返回相同的结果,因为一个操作只是另一个操作的包装器.为什么他们会返回不同的结果?

javascript

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

同步使用LAN电缆连接的两台Windows 7计算机之间的时间

我有一些笔记本电脑运行我们的应用程序,同时使用以太网电缆成对连接,但没有连接到任何外部网络或互联网.Ť

我需要的连接对同步他们的系统时间,但由于每台计算机必须能够与任何其他电脑进行同步,我不能定义一台计算机是一个时间服务器,另一个是客户端.

有没有办法用NTP做到这一点?或者其他一些方式?

windows time p2p ntp

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

在另一个ContentControl之后插入ContentControl

在我们的VSTO Word 2010 Addin中,我们尝试在给定的其他ContentControl之后插入RichTextControl.我们试过这个:

    public ContentControl AddContentControl(WdContentControlType type, int position)
    {
        Paragraph paragraphBefore = null;
        if (position == 0)
        {
            if (WordDocument.Paragraphs.Count == 0)
            {
                WordDocument.Paragraphs.Add();
            }
            paragraphBefore = WordDocument.Paragraphs.First;
        }
        else
        {
            paragraphBefore = Controls.ElementAt(position - 1).Range.Paragraphs.Last;
        }

        object start = paragraphBefore.Range.End;
        object end = paragraphBefore.Range.End + 1;

        paragraphBefore.Range.InsertParagraphAfter();

        Range rangeToUse = WordDocument.Range(ref start, ref end);

        ContentControl newControl = _ContentControl = _WordDocument.ContentControls.Add(type, rangeToInsert);

        Controls.Insert(position, newControl);

        OnNewContentControl(newControl, position);

        return newControl.ContentControl;
    }
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,除非我们想要插入的控件在结尾处有一个空段落.如果是这种情况,则新的ContentControl将插入到最后一个控件中.

我们怎能避免这种情况?

c# vsto ms-word word-contentcontrol

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