`
文章列表

socket超时概念(转)

 
本文摘自:http://www.cnblogs.com/highriver/archive/2012/01/16/2324035.html   Socket.connect连接超时有二种情况: 1.由于网络的问题,TCP/IP三次握手时间>timeout的设置时间。这在国外访问weibo时,并且网络环境极差的情况下有可能发生。解决的办法:调大socket.connect方法中的timeout参数值,比如50s,linux默认最高是70s,如果超过70s没有意义,linux会采用70s.但是当调大之后,发现不到10s就报timeout exception。通过国外的机器pin ...
创建MasterServer,监听端口,创建一个主线程,只负责接受客户端连接请求,当收到请求之后,由ReadWriteMonitor线程处理之后的read、write操作。主线程的选择器与ReadWriteMonitor不是同一个,否则会导致线程安全问题。其中使用了很多java.util.concurrent包下的类,比如AtomicInteger AtomicBoolean LinkedBlockingQueue ConcurrentLinkedQueue等等 待续
nio编程过程中会出现: Exception in thread "main" java.io.IOException: 远程主机强迫关闭了一个现有的连接。 at sun.nio.ch.SocketDispatcher.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233) at sun.nio.ch.IOUtil.read(IOUt ...

java nio过程

1、服务端:ServerSocketChannel进行监听,注册SelectionKey.OP_ACCEPT事件,服务器阻塞在selector.select()方法中,等待客户端连接。2、客户端:SocketChannel创建连接,调用socketChannel.connect(SERVER_ADDRESS)连接服务器(此时服务器之前阻塞在selector.select()往下走,进入selectionKey.isAcceptable()逻辑,通过ServerSocketChannel的accept方法获得客户端SocketChannel,SocketChannel注册 SelectionKey ...
本文参考:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece76310508a24420597634b86914323c3933fcf331d5c017be3b925251204d3c561640ab24859e1fa3c77341420c0c18ed714c9fecf6879877f67344f9141639244fe921163d620e14d99db0e96cce742e3b9a1d6c85523dd23016df1809c5b7003bb6ce76740f4d6ef5f635e07bb9d2715fe4e0123&p=8b2a9f1f ...

mongodb java使用

java 操作mongodb 类 package com.te.center; import java.net.UnknownHostException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import com.google.gson.Gson; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb ...

S2SH lib

RT
有一个哥们用mybatis自动代码加了mysql 的 limit属性,但是我发现生成的代码查询功能失效了,后来加了sql日志才发现少了一段代码,附件已经修复。   具体是ExampleGenerator 这个类
XML格式如下: <?xml version="1.0" encoding="GBK"?> <elXmlIniPlus> <Section SectionName="DCQRYITFA"> <elXmlProperty> <Attribute key="PRJCOD" value="NJ012001" ></Attribute> <Attribute key="BNKTYP&quo ...

DM5 java 例子

 
package com.cmb.fbcbcserver; import java.security.MessageDigest; /** * <p> * Title: * </p> * * <p> * Description: * </p> * * <p> * Copyright: 融博技术有限公司 2012 * </p> * * @author 袁泉锋HO174959 * @version 1.0 * @date Aug 2, 2012 ...
项目中有用到服务器推技术,也是由于环境因素,银行系统,行内机房无法向外部公网传输数据,只能外部进来获取。   采用Http短连接模拟长连接,后台线程等待不释放资源,直到有后台业务数据为止,期间发现客户端上来的连接只能2个,再建立会报错,还以为是Https造成的,后来看了某个文章,发现这玩意和标准有关系,当时还骂了底层开发人员,因为代码看不到,所以白被我骂了。哈哈   基本思路如下: 服务器端会阻塞请求直到有数据传递或超时才返回。 客户端 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。 当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些 ...
1、注解定义: import java.lang.annotation.Documented; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; /* * 元注解@Target,@Ret ...
Bob,Alice和数字证书 网络安全中最知名的人物大概就是Bob和Alice了,因为很多安全原理阐述中都用这两个虚拟人物来进行实例说明。 我们来看看Bob是怎么从CA中心获得一个数字证书的: 1、Bob首先创建他自己的密钥对(key pair),包含公钥和私钥; 2、Bob通过网络把他的公钥送到CA中心,公钥中包含了Bob的个人鉴别信息(他的名字、地址、所用设备的序列号等等)。这些信息是证书所必需的; 3、这个证书申请在CA中心服务器上会一直处于等待(pending)状态,直到CA中心的某人开始处理Bob的请求; 4、在CA中心的某人鉴定并确认了Bob确实是那个提交公钥的人。为了确 ...
1、DSA公钥私钥生成类: import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import j ...

DES例子

    DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。   DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电 ...
Global site tag (gtag.js) - Google Analytics