我正在用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) 在我的网页上,我有这个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没有接近替换它时,你应该如何停止使用?
我已经阅读了一些关于组合Windows窗体和控制台应用程序的程序的主题,但似乎我的问题还没有解决.是否可以从cmd-line运行程序并能够通过表单和cmd-line命令控制应用程序?它的意思是:
我知道我想要的东西是非常重要的,它可能意味着很多工作,但我仍然想知道如何正确地做到这一点.
我注意到在尝试捕捉键盘快捷键时出现问题:CTRL+箭头.
我已经处理了keydown事件.现在当我按住CTRL键时,keydown事件被触发一次.如果我拿着箭头(这样我现在拿着CTRL箭头)它就不会引发另一个事件.是出于任何原因禁止的吗?我想几年前我已经在Opera中遇到过这个问题,并且在浏览器中有一个选项.
我的结果:
按住CTRL,按箭头 - 触发事件CTRL并且不触发箭头事件
CTRL一次按+箭头 - 触发一个事件,但仅使用键码CTRL.
按住CTRL,按一封信(例如S) - 按预期工作
按CTRL+字母(例如S) - 按预期工作
(Chrome和Firefox的结果相同.上面描述的行为是标准吗?)
我正在使用:
function OnKeyDown(e) { } e.ctrlKey,e.事件的属性问题是:可能是什么问题?
我在CodeMirror中突出显示HTML代码行,我想添加一个将CodeMirror编辑器滚动到给定行的锚点.
我可以通过setCursor方法滚动到第X行.但是我想在CodeMirror窗口中间放置X行.我能这样做吗?我研究了API和演示,但没有运气.
谢谢!
我发现了很多这样的错误
[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文件中.我试图找出错误的来源一段时间,但到目前为止没有运气.
我的堆栈: 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无法打开文件.
我有以下代码段:
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,...没有定义).
谷歌浏览器支持调试器命令作为在代码中设置断点的工具.如何在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) 我有一个非常简单的文件:
/// <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家伙解决这个问题,如果他们做的话.
注意:在量角器文件中注释掉定义并不是一个不错的解决方法,我正在寻找永久性的东西,当别人抓住项目并运行干净安装或更新角度库时,这些东西不会消失.