关于使用UDP打孔,我有一些问题.基于维基http://en.wikipedia.org/wiki/UDP_hole_punching
1)要在双方(NAT后面的客户端,非NAT服务器)之间建立UDP会话,客户端只需向服务器发送数据包,然后允许会话两种方式(发送和接收) )通过防火墙?这意味着客户端也可以从服务器接收.
2)UDP Hole punching:两个客户端首先连接到服务器,然后服务器将客户端端口/ IP连接到其他客户端,因此客户端在这些端口上相互发送数据包.这是否正确?
3)如果#2为真,为什么防火墙允许从另一个IP接收数据而不是在该端口上进行连接时使用的数据?听起来像一个很容易被过滤的大安全漏洞?我知道源IP欺骗会欺骗它,但是这个?
先谢谢你,约翰
假设方格纸上有一些数字.这个数字的两边直接在方格纸上.图可以具有任何(甚至不是凸起的)形状.如何找到可以放在该图中的最大多米诺骨牌(1x2矩形).不允许将多米诺骨牌放在另一个上面.当它的两侧正好落在方形纸的线上时,允许以这种方式放置多米诺骨牌.
我有一个文件f1:
line1
line2
line3
line4
..
..
Run Code Online (Sandbox Code Playgroud)
我想删除另一个文件中的所有行f2:
line2
line8
..
..
Run Code Online (Sandbox Code Playgroud)
我想的东西cat和sed,这甚至还没有接近我所预期的.我怎样才能做到这一点?
可能重复:
如何在Java中绘制一个像样的圆圈.
嗨,我使用graphics2d在java中用中风绘制onw圈...但是我总是得到不规则的圆圈...我没有顺利得到圆圈...你能帮助我吗?
如何在php curl中设置PHP_AUTH_PW和PHP_AUTH_USER参数.
在服务器端,它检查:
if(!isset($ _ SERVER ['PHP_AUTH_PW'])){print"授权错误"}
任何帮助,将不胜感激
谢谢
我正在尝试使用Lzz从我的*.cpp文件生成C++头文件.
调用序列是这样的:./ lzz -hx hpp -c -o out src/*.lzz
不幸的是,它始终无法说它找不到任何包含的标题,包括标准库的部分,如iostream,string和vector.
我收到一堆这样的错误消息:
src/CommonIO.lzz:7:10:找不到#include文件.src/CommonIO.lzz:8:10:找不到#include文件.src/CommonIO.lzz:9:10:找不到#include文件.
我知道我可以使用-I参数给它包含路径:-I /usr/local/include/c++/4.5.1
但它似乎没有帮助,因为它开始抱怨来自标准库的包含:/usr/local/include/c++/4.5.1/string:40:10:找不到#include文件.
可能是因为我在64位系统(Ubuntu 10.10)上运行32位版本(从http://www.lazycplusplus.com/download.html下载的二进制文件)?
我已经尝试从源代码编译自己的Lzz,但它抱怨缺少制作libconf.a的规则:
make [1]:*没有规则来制作目标/home/petmal/Desktop/Downloads/lzz_2_8_2_src/gcc.opt/libs/libconf.a', needed by/home/petmal/Desktop/Downloads/lzz_2_8_2_src/gcc.opt/lzz'.停止.
我似乎无法找到重置所有mysql统计信息的方法(在phpmyadmin的'Stats'页面中显示)
我可以重置"服务器流量"部分,但其他所有内容都不会重置(InnoDB统计信息,处理程序统计信息等).
我无法理解如何制作正则表达式例如我有掩码:xxxx-xxxx-xxxx其中"x"可以是az或AZ或0-9
并有代码:
string[] numbers =
{
"1a3F-5t5C-FIG0-InFo",
"444-234-2245",
"444.-2344-2245",
};
string sPattern = "^[a-z0-9A-z]{4}-[a-z0-9A-z]{4}-[a-z0-9A-z]{4}$-[a-z0-9A-z]{4}$";
var validList = new List<string>();
foreach (string s in numbers)
{
if (Regex.IsMatch(s, sPattern))
{
validList.Add(s);
}
}
Assert.IsTrue(validList.Count==1);
Run Code Online (Sandbox Code Playgroud)
但它不起作用......我在表达方面有一些错误.你能解释一下为什么是错的吗?
我正在使用下面的代码向UIButton添加渐变图层.工作正常,但标题不再可见.有人知道怎么修理吗?
UIButton oAddressBtn = UIButton.FromType (UIButtonType.Custom);
oAddressBtn.Frame = new RectangleF (0, 0, 150, 25);
oAddressBtn.VerticalAlignment = UIControlContentVerticalAlignment.Center;
oAddressBtn.Font = UIFont.FromName("Helvetica", 12);
oAddressBtn.SetTitleColor (UIColor.White, UIControlState.Normal);
// Create a gradient for the background.
CAGradientLayer oGradient = new CAGradientLayer ();
oGradient.Frame = oAddressBtn.Bounds;
oGradient.Colors = new CGColor[] { UIColor.FromRGB (170, 190, 235).CGColor, UIColor.FromRGB (120, 130, 215).CGColor };
// Assign gradient to the button.
oAddressBtn.Layer.MasksToBounds = true;
oAddressBtn.Layer.AddSublayer (oGradient);
oAddressBtn.Layer.CornerRadius = 10;
oAddressBtn.Layer.BorderColor = UIColor.FromRGB (120, 130, 215).CGColor;
// Set the button's title.
oAddressBtn.SetTitle …Run Code Online (Sandbox Code Playgroud) 我已经阅读了跨平台标签中的一些文章.然而,当我开始一个新的应用程序(主要是终端/控制台应用程序)时,我想知道最简单的跨平台方式(即适用于Linux,Mac OS X和Windows).我考虑过以下几点:
你的意见?在此先感谢您的贡献!
编辑:听起来有很多关于Java和Qt的流行回复.我们在这两者之间有什么权衡?