11 2011 档案

摘要:心跳包之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。 在TCP的机制里面,本身是存在有心跳包的机制的,也就是TCP的选项:SO_KEEPALIVE。系统默认是设置的2小时的心跳频率。但是它检查不到机器断电、网线拔出、防火墙这些断线。而且逻辑层处理断线可能也不是那么好处理。一般,如果只是用于保活还是可以的。 心跳包一般来说都是在逻辑层发送空的echo包来实现的。下一个定时器,在一定时间间隔下发送一个空包给客户端,然后客户端反馈一个同... 阅读全文
posted @ 2011-11-10 16:54 暖日 阅读(2878) 评论(0) 推荐(1)
摘要:synchronized作用: Synchronized关键字的作用一个词概括就是:线程同步。它可以用来修改对象中的方法,将对象加锁。相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方法后再运行此线程A,没有的话,直接运行。synchronized语法: 1.synchronized方法 如:public synchronized void accessVal(int newVal); synchronized方法控制对类成员变量的访问:每个类实例对应一把锁,每个synchr... 阅读全文
posted @ 2011-11-10 15:02 暖日 阅读(1040) 评论(0) 推荐(0)
摘要:请看MyService.java中片段代码(由wsimport工具自动生成,请参看我的上一篇博文:使用命令wsimport构建WebService客户端):View Code 1 static { 2 URL url = null; 3 WebServiceException e = null; 4 try { 5 url = new URL("http://localhost:8080/Demo/services/MyService?wsdl"); //硬编码 6 } catch (Malformed... 阅读全文
posted @ 2011-11-04 14:03 暖日 阅读(4355) 评论(0) 推荐(0)
摘要:服务端:请看我的上一篇博文(Java使用XFire调用WebService接口)客户端:在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方。该工具可以用于非Java的服务器,如:用C#编写的WebService,通过wsimport则生成Java的客户端实现。 在命令提示符中使用如下命令:wsimport -keep -p com.demo.client http://localhost:8080/Demo/services/MyService?wsdl 命令参数说明.. 阅读全文
posted @ 2011-11-03 10:33 暖日 阅读(48679) 评论(3) 推荐(2)