两台tomcat或weblogic服务器,同一网段,有什么好的通讯手段?
每次通讯内容不超过10K,要求不能超过毫秒级,即一定要小于100毫秒。
解决立即给分,200不够再加。见:http://community.csdn.net/Expert/topic/5216/5216175.xml?temp=.3933679
每次通讯内容不超过10K,要求不能超过毫秒级,即一定要小于100毫秒。
解决立即给分,200不够再加。见:http://community.csdn.net/Expert/topic/5216/5216175.xml?temp=.3933679
解决方案 »
- windows记事本的“关于记事本”怎样用JAVA编写出来啊
- Java数据库编程用的MySQL,怎么打包
- java 中接口问题
- java出错的问题?
- FTP 的 LIST 命令获取文件信息,就是没有年份,怎么得到???
- 请问各位一路走过来的朋友,你们是java是怎样一段路
- 通宵等....jsp (查 询 , 统 计)........帮忙!!!!!
- 请问---请问---请问---请问::别人帮我回答了我的问题,我要如何给他分啊???
- byte[]到底可以有多长?
- Error#:202:'class'or'interface'是什么错误?
- 西安软件园java-群
- Java怎样销毁控制和窗口?setVisible(false)?
一般来说Tcp就可以了用BufferedInputStream和BufferedOutputStream。设置一下缓存大小
你没有说数据频率多少。数据包10k不大,问题是频率多少。先讲讲我的思路
1:Socket创建后一定要设置属性,把SendBuffer和RecBuffer调整一下。buffer小,反应速度快,但如果数据大的话就会block。建议设置为单个数据包的4倍左右即可
TcpNoDelay一定要设置,设置成true,不然这里就要延迟100ms了
2:传输流最好用Buffered***Stream,同样在创建时设置缓存,和socket设置的系统缓存一样大就可以了
3:数据接收发送要分开线程,处理也要分开。将收到的数据放入LinkedList中,另外一个线程去处理
4:socket要设置超时,两个socket之间要轮循报告状态,用这种方法来检测流是不是断开(千万不要以为TCP是可靠的,必须通过这种方式判断是不是断开了)
5:一定要有重连动作,socket瞬间断开很可能
用Socket自己玩流,很有可能没有RMI的性能高的,不是我说的,是J2EE的书上说的。
书是对很多经验的总结的。
RMI是性能高,J2ee还说EJB性能高呢。主要看自己的控制了