51CTO博客开发
开源的Web即时聊天应用1.CryptocatCryptocat 是一个开源基于Web的即时消息聊天应用程序。与其它即时聊天工具不同之处在于它主要关注确保通信是进行加密过和私人化的。Cryptocat 基于PHP开发除了静态文件(CSS, JS和图片)外只有单独的一个PHP文件。其界面简单而且漂亮。消息使用crypto.js library进行AES-256加密。项目地址: https:
SIP (Session Initiation Protocol)XMPP (Extensible Messaging Presence Protocol)(1)SIP和XMPP都是应用层的协议,主要用来在互联网上发送语音和即时通信IM。RFC 3521定义了SIP,RFC3920定义了XMPP。XMPP来自即时通信系统,而SIP类似语音和视频通信。XMPP增加了Jingle扩展协议来支持面向连接
https://www.ejabberd.im/ejabberd是基于Jabber/XMPP协议的即时通讯服务器,由GPLv2授权(免费和开放源码),采用Erlang/OTP开发。它的特点是,跨平台,容错,集群和模块化。ejabberd目前是可扩展性最好的一种Jabber/XMPP服务器,支持分布多个服务器,并且具有容错处理,单台服务器失效不影响整个cluster运作。
Openfire, Spark, Smack 是Java实现的基于XMPP协议的企业级IM解决方案。Openfire:实现XMPP协议的IM服务器。有自己的管理web。Openfire数据表描述: http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/database-guide.html#ofUs
http://xmpp.org/XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。XMPP(Extensible Messaging and Presence Protocol, 可扩展消息处理现场协议)是 基于可扩展标记语言(XML&n
# echo | gcc -v -x c -E -Using built-in specs.COLLECT_GCC=gccTarget: i686-pc-linux-gnuConfigured with: ../gcc-5.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
linux下一般程序运行时查找动态库的顺序:(1)根据环境变量LD_LIBRARY_PATH查找(2)根据/etc/ld.so.cache查找(3)查找依次在/lib和/usr/lib目录查找---------------------------------LD_LIBRARY_PATH 来处理非标准路经的共享库。ld.so 加载共享库的时候,也会查找这个变量所设置的路经。LD_LIBR
1.下载源码包http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.bz2tar -jxvf gcc-5.2.0.tar.bz22.下载编译所需依赖库cd gcc-5.2.0./contrib/download_prerequisitescd ..3.建立编译输出目录mkdir gcc-build-5
(1)链接提示 "/usr/bin/ld: cannot find -lz"#yum install zlib-devel(2)warning: "this decimal constant is unsigned only in ISO C90"原因是,c语言里面的常量默认是一个32位的有符号整型数。如果整数常量无法用32位的有符号整型数表示,所以会报警告。解决方法是在整数常量后面加上 
如果你的程序中使用dlopen、dlsym、dlclose、dlerror 显示加载动态库,需要设置链接选项 -ldl
(1)fpic 和 fPIC 区别在64位下编译动态库的时候,经常会遇到下面的错误/usr/bin/ld: /tmp/ccQ1dkqh.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPICUse -fPIC or -fp
默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"、"makefile"、"Makefile"的文件,找到了解释这个文件。在这三个文件名中,最好使用"Makefile"这个文件名,因为,这个文件名第一个字符为大写,这样有一种显目的感觉。最好不要用"GNUmakefile",这个文件是GNU的make识别的。target : dependents_1 depende
cc1plus: all warnings being treated as errors解决办法:只需要找到相应的Makefile,去掉编译选项中的 -Werror 即可。--Werror视警告为错误;出现任何警告即放弃编译.-Wall会打开一些很有用的警告选项,建议编译时加此选项。-Wextra打印一些额外的警告信息。-w禁止显示所有警告信息。===============
交叉编译,简单地说,就是在 一个平台上生成另一个平台上的可执行代 。要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下:1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编
http://www.mingw.org/MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC 产生 Windows32 程序。安装过程选择需
minGW与cygwin==========================首先MingW和cygwin都可以用来跨平台开发。 MinGW是Minimalistic GNU for Windows的缩写,也就是Win版的 精简的GCC 。 MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU( http://ww
gcc和g++都是GUN(组织)的编译器。gcc是C编译器g++是C++编译器linux下cc一般是一个符号连接,指向gccls /usr/bin下面是linux自带的autoconf工具-rwxr-xr-x. 1 root root 14631 Nov 11 2010 autoconf-rwxr-xr-x. 1 ro
(1)autoscan, automake, autoconf 之间的协作关系(2)libtoolo: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在.o文件中添加了一些信息。la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息和依赖关系。该文件中的dependenc
(1)warning: no newline at end of file结尾需要有一个空行你在程序末尾多打个回车就行了
O2O即Online To Offline(在线离线/线上到线下),是指将线下的商务机会与互联网结合,让互联网成为线下交易的平台,这个概念最早来源于美国。O2O的概念非常广泛,既可涉及到线上,又可涉及到线下,可以通称为O2O。主流商业管理课程均对O2O这种新型的商业模式有所介绍及关注。O2O更侧重服务性消费(包括餐饮、电影、美容、SPA、旅游、健身、租车、租房……)B2C更侧重购物(实物商品,如电
OTT 是"Over The Top"的缩写,是指通过互联网向用户提供各种应用服务。这种应用和目前运营商所提供的通信业务不同,它仅利用运营商的网络,而服务由运营商之外的第三方提供。目前,典型的OTT业务有互联网电视业务,苹果应用商店等。这个词汇来源于篮球等体育运动,是"过顶传球"之意,指的是篮球运动员(player)在他们头之上来回传送而达到目的地。互联网企业利用电信运营商的宽带网络发展自己的业务
鲁棒是Robust的音译,也就是健壮和强壮的意思。它是在异常和危险情况下系统生存的关键。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。
回车符\r和 换行符\n===============================回车符就是回到一行的开头,换行符就是另起一行,平时编写文件的回车符应该确切来说叫做 回车换行 符。'\r' (13, 0x0D) 回车(return)'\n' (10,0x0A) 换行(newline)在windows系统下,回车换行符号是"\r\n", 但是在Linux等系统下是没有"\r"
磁盘使用方式可以分为两类:(1)基本磁盘:"基本磁盘"受26个英文字母的限制,也就是说磁盘的盘符只能是26个英文字母中的一个。因为A、B已经被软驱占用,实际上磁盘可用的盘符只有C~Z 24个。另外,在"基本磁盘"上只能建立四个主分区(注意是主分区,而不是扩展分区)。(2)动态磁盘:"动态磁盘"不受26个英文字母的限制,它是用"卷"来命名的。"动态磁盘"的最大优点是可以将磁盘容量扩展到非邻近的磁盘空
http://www.tiobe.com/index.php/content/company/Home.htmlTIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!、百度)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数
在 XML 元素中,"<" 和 "&" 是非法的。"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。实体必须以符号"&"开头,以符号";"结尾。错误例子:<message>if salary < 1000 then</message>正确例子:<mess
--------- XML CDATA --------在标记CDATA下,所有的标记、实体引用都被忽略 ,而被XML处理程序一视同仁地当做字符数据看待,CDATA的形式如下:<![CDATA[文本内容]]>CDATA的文本内容中不能出现字符串"]]>",另外,CDATA不能嵌套。术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据
XML 将以下四种字符归为空白字符 WhiteSpace :回车符(\r 或 ch(13))、换行符(\n 或 ch(10))、制表符 (\t) 以及空格 (' ')。在 XML 文档中,空白字符分为两类:有意义空白字符 是文档内容的一部分,应予以保留。无意义空白字符 在编辑 XML 文档时使用,以增加可读性。这些空白字符一般在文档交付时不予保留。默认情况,WhiteSpace
SAX 和DOM==================目前XML的解析主要有两大 模型 : SAX和DOM 。其中 SAX (Simple API for XML) 是 基于事件 的,其基本工作流程是分析XML文档,当发现了一个新的元素时,产生一个对应事件,并调用相应的用户处理函数。这种方式占用 内存
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号