小编Mar*_*cka的帖子

如何修复"连接尝试失败,因为连接方在一段时间后没有正确响应......"错误?

我正在用C#制作游戏,我想展示对手的进度(动作等等).所以我通过TCP协议将游戏中的事件发送给对手.

我已经在localhost上尝试了我的应用程序,但是当我尝试使用我的外部地址以便通过互联网进行通信时,我在TcpInformer.Connect()类中收到以下错误:

连接尝试失败,因为连接方在一段时间后未正确响应,或建立的连接失败,因为连接的主机未能响应(我的外部IP地址):(端口)

我认为问题在于我是在NAT背后.但我已经在IP 10.0.0.1上为端口49731设置了portforwarding,但没有任何改变.

我的第二个猜测是Windows防火墙,但即使我停止防火墙,我的应用程序也没有开始工作.

我连接两台PC的代码是:



        TcpInformer peer;
        TcpHost server;

        public void PrepareConnection() // for server (host)
        {
            playerType = PlayerType.One;
            server = new TcpHost(form, this);
            server.Start("10.0.0.1", 49731);
        }

        public void PrepareConnection2() // for client
        {
            playerType = PlayerType.Two;
            peer = new TcpInformer(form, this);
            peer.Connect("MY EXTERNAL IP", 49731);
        }


// classes TcpHost and TcpInformer

    public interface ITcpCommunication
    {
        #region Operations (3) 

        void ReadData();

        void SendData(byte[] message);

        void SendData(byte[] message, int size);

        #endregion Operations 
    }

    public class TcpInformer : ITcpCommunication …
Run Code Online (Sandbox Code Playgroud)

c# sockets tcp nat

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

在mysql中保存点提交回滚

我们如何在mysql中使用commit,rollback和savepoint?

mysql

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

不推荐使用jQuery.browser,但是如何使用.support?

在我的网页上,我有这个CSS:

tr:hover {
    background-color: #f0f;
}
Run Code Online (Sandbox Code Playgroud)

除了好的旧IE之外,它在所有浏览器中都能很好地工作.我知道我可以写一些jQuery来添加和删除鼠标上/下的一个类,但我不想让所有其他支持:hover正确的浏览器出现问题- 所以我只想应用这个浏览器的JS行为本身不支持纯CSS解决方案.

当然,我们都知道这$.browser已被弃用了,而且我们都知道浏览器嗅探是一件坏事,SO上的所有其他问题都有大量的答案,就像"你不应该检查浏览器,检查为特征 ",而这一切都很好,当这些人生活的神奇仙境,但我们其他人需要得到我们的网站工作,看着对面IE6和其他浏览器确定.

$.support IE6和7看起来像这样:

leadingWhitespace: false
tbody:             false
objectAll:         false
htmlSerialize:     false
style:             false
hrefNormalized:    false
opacity:           false
cssFloat:          false
scriptEval:        false
noCloneEvent:      false
boxModel:          true
Run Code Online (Sandbox Code Playgroud)

我到底该如何使用这些属性来确定是否tr:hover有效?

是的我知道在这个例子中,它是相当无害的,我可能可以通过不向IE用户提供该功能,或者通过在所有浏览器中模拟它来逃避,但这不是重点.$.browser当你$.support没有接近替换它时,你应该如何停止使用?

jquery cross-browser sniffing

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

C#中控制台的Windows Forms +命令

我已经阅读了一些关于组合Windows窗体和控制台应用程序的程序的主题,但似乎我的问题还没有解决.是否可以从cmd-line运行程序并能够通过表单和cmd-line命令控制应用程序?它的意思是:

  • 对于通过(Windows窗体)表单控制应用程序的应用程序的普通用户,
  • 用于调试和高级用户通过控制台控制应用程序(并可选择查看Windows窗体中发生的情况))

我知道我想要的东西是非常重要的,它可能意味着很多工作,但我仍然想知道如何正确地做到这一点.

c# debugging console winforms

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

如何在Javascript中处理ctrl +箭头?

我注意到在尝试捕捉键盘快捷键时出现问题:CTRL+箭头.

我已经处理了keydown事件.现在当我按住CTRL键时,keydown事件被触发一次.如果我拿着箭头(这样我现在拿着CTRL箭头)它就不会引发另一个事件.是出于任何原因禁止的吗?我想几年前我已经在Opera中遇到过这个问题,并且在浏览器中有一个选项.

我的结果:

  • 按住CTRL,按箭头 - 触发事件CTRL并且不触发箭头事件

  • CTRL一次按+箭头 - 触发一个事件,但仅使用键码CTRL.

  • 按住CTRL,按一封信(例如S) - 按预期工作

  • CTRL+字母(例如S) - 按预期工作

(Chrome和Firefox的结果相同.上面描述的行为是标准吗?)

我正在使用:

  • function OnKeyDown(e) { }
  • e.ctrlKey,e.事件的属性

问题是:可能是什么问题?

javascript keyboard-shortcuts

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

CodeMirror - 是否可以滚动到一行,使其位于窗口中间?

我在CodeMirror中突出显示HTML代码行,我想添加一个将CodeMirror编辑器滚动到给定行的锚点.

我可以通过setCursor方法滚动到第X行.但是我想在CodeMirror窗口中间放置X行.我能这样做吗?我研究了API和演示,但没有运气.

谢谢!

javascript jquery codemirror

8
推荐指数
3
解决办法
8623
查看次数

带有mmap缓存错误的Apache错误日志

我发现了很多这样的错误

[Wed Nov 06 14:34:01 2013] [warn-phpd] mmap cache can't open C:\www\somefile.php (pid 4484 th 1668)
Run Code Online (Sandbox Code Playgroud)

在我的Apache error.log文件中.我试图找出错误的来源一段时间,但到目前为止没有运气.

  • 我发现PHP Opcache不是罪魁祸首.
  • error_log没有帮助.我认为我的PHP源代码不会影响错误.

我的堆栈: Apache 2.4.6,Windows,PHP 5.4.20

有没有人遇到同样的错误?

注:该错误消息我得到的是一样的,比如,错误:

Mon Dec 1 21:08:20 2008] [warn-phpd] mmap cache can't open /var/www/vhosts/domain.com/httpdocs/file.php - Permission denied (pid 7831)
Run Code Online (Sandbox Code Playgroud)

有什么原因导致mmap无法打开文件.

php windows apache mmap

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

为什么第一次调用中没有E_NOTICE错误?

我有以下代码段:

 error_reporting(E_ALL | E_STRICT);

    function &getVal() {
       $data = [];

       return $data['hey'];
       //return $whatever; 
    }

    function getVal2() {
       $data = [];

       return $data['hey'];
    }

    var_dump(getVal());  // No E_NOTICE error is issued - why?
    var_dump(getVal2()); // E_NOTICE error is issued.
Run Code Online (Sandbox Code Playgroud)

问题是:为什么E_NOTICE第一次通话中没有错误?解释很可能$data['hey']是创建变量以返回引用.但是,它仍然似乎是错误的时候不要发出E_NOTICE错误$data['hey'](或者$whatever,...没有定义).

php

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

'debugger'命令和JSLint

谷歌浏览器支持调试器命令作为在代码中设置断点的工具.如何在JSLint中隐藏以下代码的警告:

/*globals $, console, */
/*jslint browser:true, white: true */

function test() {

        "use strict";
        debugger;     // JSLint reports the "Unexpected 'debugger'" error
}
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome jslint

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

后续变量声明必须具有相同的类型.变量'$'必须是'JQueryStatic'类型,但这里有'cssSelectorHelper'类型

我有一个非常简单的文件:

/// <reference path="../typings/browser/ambient/jquery/jquery" />
import {Component} from "angular2/core";

@Component({})
export class AppComponent{

    constructor(){
        $.isEmptyObject({});
    }

}
Run Code Online (Sandbox Code Playgroud)

我安装了jQuery打字,所以打字稿不会抱怨不能识别$.但现在问题在于抱怨问题中的问题:

Error:(1679, 13) TS2403: Subsequent variable declarations must have the same type.  Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'.
Run Code Online (Sandbox Code Playgroud)

出现这个问题是因为角度量角器也声明了$,cssSelectorHelper而不是JQueryStatic对象.

事情是......我根本不使用量角器!!!为什么在从angular2/code导入东西时它会被添加?有没有一个像样的解决方案,直到Angular家伙解决这个问题,如果他们做的话.

注意:在量角器文件中注释掉定义并不是一个不错的解决方法,我正在寻找永久性的东西,当别人抓住项目并运行干净安装或更新角度库时,这些东西不会消失.

typescript angular

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