- 浏览: 140581 次
- 性别:
- 来自: 武汉
最新评论
-
逍遥乐天游:
[flash=200,200][url][img][img]引 ...
使用jquery的朋友不得不看的,jquery ui接口,提升jquery的效率 -
damoqiongqiu:
强力期待QT5
Qt for Android 使用 手记 -
qhuwn:
太棒了!!!!!!!!!!!
tomcat 启用Gzip 压缩进行优化 -
wan_2004:
dearshor 写道wan_2004 写道聚合测试的意图 不 ...
seam 中的testNG测试框架 -
dearshor:
wan_2004 写道聚合测试的意图 不就是 把东东都放到一起 ...
seam 中的testNG测试框架
文章列表
Apache MINA 使用记录
- 博客分类:
- Java
1.Mina的结构
Mina的通信流程大致如上图所示,各个组件功能有:(1.) IoService:这个接口在一个线程上负责套接字的建立,拥有自己的Selector,监听是否有连接被建立。
(Mina底层使用JAVA NIO, 因此它是典型的使用Reactor模式架构的,采用事件驱动编程 , Mina运行用户自定义线程模型,可以是单线程、多线程、线程池等 ,
跟JAVA Socket不一样, Mina是非阻塞的Socket,它内部已经保证了对各个连接(session)的业务和数据的隔离,采用轮询机制为各个session分配CPU资源,
所以,你 ...
说明要匹配的字符是一个特殊字符、常量或者后者引用。(后引用重复上一次的匹配)
\n 匹配换行符
\\ 匹配 \
\( 匹配 (
\) 匹配 )
^
匹配字符串的开头位置
如果A是字符串的第一个字符,^A 匹配 A
$
匹配字符串的末尾位置
如果B是字符串的最后一个字符,$B 匹配 B
*
匹配前面的字符0次或多次
ba*rk可以匹配 brk、bark、baark等等
+
匹配前面的字符1次或多次
ba+rk可以匹配 bark、 ...
Unix操作系统在突然断电后有可能导致系统的瘫痪。在这一点上,Unix操作系统不如微软的操作系统。如果发生断电事故的话,Windows操作系统在重新启动的时候会进行自动检测与恢复,而Unix 是不会的, 需要我们手动执行fsck命令去扫描恢复。
通常情况下,如果硬盘上的超级块和Inode块与内存中的副本不一致的话,则就有可能导致系统启动失败。如当突然断电时,硬盘中的超级块没有及时保存到硬
盘中,此时就会导致两个地方的超级块不一致,文件系统的完整性就会受到破坏。严重的话操作系统就会因此而瘫痪。不过在遇到这种文件系统错误方面的故障,往往不需要重新安装操作系统,而只需要执行fsck ...
android 上使用 qt 的开源项目是 necessitas 项目地址是 http://sourceforge.net/projects/necessitas/files/
根据你的平台下载相应的necessitas QtCreator 安装(我下的 necessitas 0.3)
我这里用的Linux
下载好后安装,根据需要选择你要下的东西,比如 Ant ,Android SDK之类 (注:ant必须要 1.8.0以上 ,Android SDK 必须要有plarform-tools,如果不知道就不要选择 直接 默认即可。)
然后他自己下载组件安装(这个跟QtSDK的包管理器做的 ...
首先我们下载安装MS windows SDK 取得 MSVC9编译器。
去Orge3D.org下载
OGRE 1.7.4 SDK for Visual C++ .Net 2008 (32-bit)
这个版本
解压到任意目录中比如 E:\\Ogre
然后在QCreator中新建空项目
使用QCreator +Git 的时候因为QCreator 的自己生成项目文件在其他机器上面不能使用(编译步骤会还原成只剩qmake-make)。导致一些自定义编译步骤和一些脚本操作不在能用。现在,我们可以通过 qmake 的自定义 Makefile 文件输出达到这一目地。
比如我这边用了第三方编译好的静态库,编译时候拷贝了头文件和 LIBS
+=
-L
./
-llibname 这样的选项,这时如果我们选择用 Shadow build 指定编译到其他目录去的时候,qmake生成make文件是不能找到-l中的的相关静态库文件的。这时 ...
Qt中有方便的信号和槽函数来完成我们各个类之间的调用。其中关于对象在线程中信号和槽的执行方式是值得瞧瞧的。
这里我做了一点实验。说明请看代码注解和qDebug输出
主窗口(这里介绍了各种连接信号方式)
#include "widget.h"
#include "ui_widget.h"
#include "mythread.h"
#include "obj.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui: ...
在Qt中可以使用QDrag 来拖动操作Graphics各个元素,以此实现方便的拖动操作。
我们可以从QGraphicsItem 重载 mousePressEvent 来做开始拖动的操作,比如
void Item::mousePressEvent(QGraphicsSceneMouseEvent *event){
Qt::MouseButtons btn = event->buttons();
if(btn == Qt::LeftButton){
QDrag* drag = new QDrag(this->scene() ...
QObject 中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY
() 宏放在了private区域。因此所有继承自QObject的类都使用这个宏声明了他们的拷贝构造函数和赋值操作符为私有。
为什么要这样做?
qmake 常用命令:
qmake -project //生成pro文件,自动检查c/c++程序文件
qmake -tp vc //根据pro文件生成vc的工程文件,qt commericial有一个绑定到vs的工具,可以在菜单栏直接打开
qmake -r xxx.pro "CONFIG+=debug" //递归生成makefi ...
RAII
是指
C++
语言中资源管理的一种方式,简单而又不会出什么岔子,英文全拼也说明了他的用法,
它是“
R
esource A
cquisition I
s I
nitialization
”的首字母缩写
首先让我们来明确资源的概念, ...
(1)Symbian^1(S60v3 FP1 设备 E71)除数变量类型 不能为int等类型,只能用qreal等浮点类型
若使用int类型变量为除数,会提示错误Could not start application: General OS-related error
,设备上则显示不支持此功能,不知道为什么-待研究。
设置一下应答Header就行了
response.setHeader( "Content-Disposition ", "attachment; filename= "myNewName " , "UTF-8"));
Qt中有qInstallMsgHandler 方法可以去定制消息发生后的回调函数,它回调同时还有qDebug的级别信息。这样我们可以方便把错误消息定制到自己的log文件里面
如下:
#include <QtDebug>
#include <QFile>
#include <QTextStream>
//回调函数实现debug信息到文件
void customMessageHandler(QtMsgType type, const char *msg)
{
QString txt;
switch (type) {
case QtDeb ...
交互式连接建立
交互式连接建立(Interactive Connectivity Establishment),一种综合性的NAT穿越的技术。
交互式连接建立是由IETF的MMUSIC工作组开发出来的一种framework,可整合各种NAT穿透技术,如STUN、TURN(Traversal Using Relay NAT,中继NAT实现的穿透)、RSIP(Realm Specific IP,特定域IP)等。该framework可以让SIP的客户端利用各种NAT穿透方式打穿远程的防火墙。
IETF 规格
Interactive Connectivity Establishment ( ...