websocket实践
服务端以jetty8做容器,参考
http://wiki.eclipse.org/Jetty/Feature/WebSockets
http://dev.w3.org/html5/websockets/
如果用maven需要jetty-webapp和jetty-websocket依赖:
<dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>8.1.2.v20120308</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-websocket</artifactId> <version>8.1.2.v20120308</version> </dependency>
注意jetty8实现的是servlet-api-3.0,所以要排除对servlet-api-2.5的依赖。否则会报Java SecurityException : signer information does not match 的错误。
在此jetty版本下webservletsocket代码为:
Continue reading websocket实践 maven很多项目有多个源,有时很多项目又不知道在哪里,这个网站有较全面的查找功能: http://mvnrepository.com/artifact/ Continue reading maven 项目查找 extjs里面有htmlencode,那么jquery里面怎么办,看了下面的代码就明白了: 够easy吧。 Continue reading jquery 转义html字符 一般都是使用phpmyadmin来管理远程数据库,但是也可以使用自己喜爱的mysql客户端工具配合ssh通道来连接远程数据库,其道理就似乎是个代理,用ssh工具登陆上mysql所在主机的某个端口,在本地开个端口,那么本机对此端口的请求就会连接到主机上的配置的端口上。 下面以heidisql为例。 最主要的是ssh的配置,putty大家都知道吧,用它来建立隧道。 首先你的远程服务器需要开通ssh连接,此文就不涉及内容,假定已可以通过ssh远程连接,并且检查msql是否允许此主机连接,可以通过cpanel的RemoteMysql来配置。 在putty中需要配置: 打开putty,在session中配置主机ip地址或域名以及端口。 然后配置本机到主机的映射隧道: 在tunnels中source port是你打算在本机映射的端口此例中是3307,注意不要使用已被占用的端口。 Destination中添目标mysql主机ip以及mysql端口,此例中是codex345.extremehost,端口是3306 选中local和auto点击Add,那么隧道就配置成功了。 在session中保存你的配置,点击open,此时会出现putty控制台登陆远程主机,需要你填入用户名和密码。登陆成功后,就可以在heidisql中项配置本地数据库一样配置到远程数据库的连接了。此例中练的是本地,端口是上面配置的3307,其实就是通过隧道连接到远程主机的3306端口了,是不是很方便呢。 实际开发中不喜欢每次都要在putty中输入用户名密码,而putty处于安全的考虑又不提供保存密码的功能,那么你可以使用xshell,它是一款功能更强大的商业软件,而且对个人用户免费哈哈。见http://www.netsarang.com/products/xsh_overview.html 它的配置和putty很类似,对于隧道配置如下图,其实也是一样,只不过界面改了,我在这里烂一下笔头,方便大家区分: 有时连接出现SQL Error (2013): Lost connection to MySQL server at 'reading initial communication packet',错误,经测试改用ip而不是域名连接远程主机就可以解决这个问题。 Continue reading heidisql使用ssh远程连接mysql 升级到5.3注意的问题: 增加了Deprecated 错误级别 http://php.net/manual/en/migration53.deprecated.php PHP 5.3.0 introduces two new error levels: The following is a list of deprecated INI directives. Use of any of these INI directives will cause an Deprecated functions: Deprecated features: Continue reading php版本升级问题 一般可使用cpanel 中的cron job界面来添加任务,对于执行php来说,可现在本机上执行命令测试了再加上去。 也可使用 来直接编辑,注意cpanel的cron脚本是没有放在这里面的。 还可以使用浏览器来执行呢: http://www.htmlcenter.com/blog/running-php-scripts-with-cron/ 默认情况下,crontab中执行的日志写在/var/log下,如: #ls /var/log/cron* /var/log/cron /var/log/cron.1 /var/log/cron.2 /var/log/cron.3 /var/log/cron.4 crontab的日志,当crond执行任务失败时会给用户发一封邮件。如果在服务器上发现一个任务没有正常执行,而crond发邮件也失败。通过看mail的日志,看是否是磁盘空间不够造成的 将cornd错误输出和标准输出日志都指向自定义的日志文件: 0 6 * * * $HOME/fro_crontab/createTomorrowTables>>$HOME/for_crontab/mylog.log 2 >&1 对于codeigniter来说,可参见他的源码cron.php,它是模仿http请求来做的。 参见: http://tech.ddvip.com/2008-06/121324087945638.html Continue reading linux cron任务执行php 今天学习一下可重入锁ReentrantLock: 先来借别人的例子来看它怎么用: 这是java DelayQueue的take方法: public E take() throws InterruptedException { Continue reading 可重入锁ReentrantLock openfire最好依据目标操作系统选择版本,linux上就应该选择RPM版,这样就省却很多麻烦。比如与其他xmpp服务商的通信。openfire server上有个server to server配置,据我的经验,选择好了版本,安装好了,根本就不需要配置这个就可以和gtalk,jabber等通信,即本服务器上的用户[email protected]发送给[email protected]的消息会发送给[email protected], [email protected]的发送给[email protected]消息[email protected]也收的到。 另外http://sourceforge.net/projects/kraken-gateway这个插件是提供其他流行的xmpp server的登陆的,比如gtalk,yahoo,甚至QQ。 openfire是提供离线消息的,默认这个配置也是开启的,在Server/Server Settings/Offline Message 中配置 Continue reading openfire配置杂记 xmpphp对于注册新用户,添加好友等功能暂时还没有,以下是我在网上找到的补丁: Continue reading xmpphp 的一些补丁 in php windows上运行的好好的,传到服务器上就遇到"Cannot modify header information” 问题,看报错的行数也是文不对题,这种情况一般是编码格式问题,检查一下<?php ... ?> 后面没有空白行,删除即可。 参见: http://www.bytea.net/content/view/229/40.html Continue reading "Cannot modify header information" php 的恼火问题 maven 项目查找
jquery 转义html字符
function escape_html(str){
str = $('#text_holder').text(str).html();
return str;
}
heidisql使用ssh远程连接mysql
php版本升级问题
Deprecated features in PHP 5.3.x
E_DEPRECATED
and E_USER_DEPRECATED
. The E_DEPRECATED
error level is used to indicate that a function or feature has been deprecated. The E_USER_DEPRECATED
level is intended for indicating deprecated features in user code, similarly to the E_USER_ERROR
and E_USER_WARNING
levels.E_DEPRECATED
error to be thrown at startup.is_dst
parameter to mktime(). Use the new timezone handling functions instead. linux cron任务执行php
crontab -e
可重入锁ReentrantLock
openfire配置杂记
xmpphp 的一些补丁
"Cannot modify header information" php 的恼火问题
Pagination