java SSL安全socket的通讯实例 java学习笔记(4)
学习了SSL的基本原理后..动手用java来实现了一个安全连接的实例..
1.使用keytool创建密钥对..并在服务端和客户端完成分配..具体方法可参看:java-使用keytool来创建管理密钥及证书等-java学习笔记(3)
2.建立客户端和服务端的socket实例:
客户端代码如下:
public class SSLClient {
public static void startSSLClient() throws IOException {
int port = 15408;//要连接的服务器端口
String serverAdd = "127.0.0.1";//要连接的服务器地址
try {
System.setProperty("javax.net.ssl.trustStore","clientkey.jks");//设置可信任的密钥仓库
System.setProperty("javax.net.ssl.trustStorePassword","sslkey1"); //设置可信任的密钥仓库的密码
SSLSocketFactory sslsf = (SSLSocketFactory)SSLSocketFactory.getDefault();//利用工厂来创建SSLSocket安全套接字
Socket csocket = sslsf.createSocket(serverAdd,port);//创建并连接服务器
System.out.println("Client OK~");
System.out.println("===============");
System.out.println("");
//以下代码同socket通讯实例中的代码
BufferedReader socketIn = new BufferedReader( new InputStreamReader(csocket.getInputStream()));//接受到的信息
PrintStream socketOut = new PrintStream(csocket.getOutputStream());//要发送的信息
BufferedReader userIn = new BufferedReader( new InputStreamReader(System.in));//用户输入信息
String s;
while ( true ) {
System.out.print("Client Message: ");
s = userIn.readLine();
socketOut.println(s);
if ( s.trim().equals("BYE") ) break;
else {
System.out.println("Please wait Server Message..");
System.out.println("");
}
s = socketIn.readLine();
System.out.println("Server Message: " + s);
if ( s.trim().equals("BYE") ) break;
}
socketIn.close();
相关文档:
花了一个多月用Java NIO写了一个定制的HTTP Server,主要是支持我的WeBuzz.IM网页版聊天服务
。
先介绍一下WeBuzz.IM网页聊天服务。
WeBuzz.IM
是一款网页版即时聊天工具,用于帮助用户通过网页和朋友聊天。Gtalk(Google Talk)
、MSN(Windows Live Messenger)
、Yahoo! Messenger(Yahoo! Chat,又称为雅虎通)
......
Java
虚拟机中的类加载器分为两种:原始类加载器(primordial class loader
)和类加载器对象(class loader objects
)。
原始类加载器是Java
虚拟机实现的一部分,类加载器对象是运行中的程序的一部分。不同类加载器加载的类被不同的命名空间所分割。
类加载器调用了许多Java ......
在Java
虚拟机中,被加载类型的信息都保存在方法区中。这些信息在内存中的组织形式由虚拟机的实现者定义,比如,虚拟机工作在一个“little- endian”
的处理器上,他就可以将信息保存为“little-endian”
格式的,虽然在Java
类文件中他们是以“big-endian”
格式保 存的。设 ......
Introduction to XML and XML With Java
If you are looking for sample programs to parse a XML file using DOM/SAX parser or looking for a program to generate a XML file please proceed directly to programs.
This small tutorial introduces you to the basic concepts of XML and using Xer ......
Java 3D虽然能支持众多的外部3D模型文件,但能支持被Java 3D使用的外部模型文件仅为.obj和.lwd两种;分别对应ObjectFile类和Lw3dLoader类。相比之下几款主流的3D建模软件都能生成.obj格式的文件,因此本文主要介绍使用ObjectFile类载入.obj文件的方法。
ObjectFile类有三个构造方法,分别为:
ObjectFile()
ObjectFile( ......