?? socket.txt
字號:
import java.io.*;
import java.net.*;
public class EchoServer2
{
public static void main(String[] args) throws IOException
{
ServerSocket serverSocket = null;
boolean listening = true;
try
{
serverSocket = new ServerSocket(1111);
}
catch (IOException e)
{
System.err.println("Could not listen on port: 1111.");
System.exit(1);
}
while(listening)
{
new EchoMultiServerThread(serverSocket.accept()).start();
}
serverSocket.close();
}
}
24-5
EchoServerBase.Java
import java.io.*;
import java.net.*;
public class EchoServerBase
{
public static void main(String[] args) throws IOException
{
(new EchoServerBase()).go();
}
public void go() throws IOException
{
boolean listening = true;
ServerSocket serverSocket= getServerSocket();
while(listening)
{
new EchoMultiServerThread(serverSocket.accept()).start();
}
serverSocket.close();
}
public ServerSocket getServerSocket()
{
ServerSocket serverSocket = null;
try
{
serverSocket = new ServerSocket(1111);
}
catch (IOException e)
{
System.err.println("Could not listen on port: 1111.");
System.exit(1);
}
return serverSocket;
}
}
24-6
import java.net.*;
import java.io.*;
import java.util.*;
import java.security.*;
import Javax.net.*;
import Javax.net.ssl.*;
public class SecureEchoServer extends EchoServerBase
{
public static void main(String[] args) throws IOException
{
(new SecureEchoServer()).go();
}
public ServerSocket getServerSocket()
{
SSLServerSocket serverSocket = null;
try
{
String KEYSTORE = "sslkeystore";
char[] KEYSTOREPW = "12345678".toCharArray();
char[] KEYPW = "ssltest".toCharArray();
KeyStore keystore = KeyStore.getInstance("JKS");
keystore.load(new FileInputStream(KEYSTORE), KEYSTOREPW);
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(keystore, KEYPW);
SSLContext sslc = SSLContext.getInstance("SSLv3");
sslc.init(kmf.getKeyManagers(), null, null);
ServerSocketFactory ssf = sslc.getServerSocketFactory();
serverSocket =(SSLServerSocket)ssf.createServerSocket(1111);
System.out.println("ssl Echo server start at 1111");
}
catch (Exception e)
{
System.err.println("Could not listen on port: 1111.");
System.exit(1);
}
return serverSocket;
}
}
24-7
EchoClientBase.Java
import java.io.*;
import java.net.*;
public class EchoClientBase
{
public static void main(String[] args) throws IOException
{
(new EchoClientBase()).go();
}
public void go() throws IOException
{
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try
{
getSocket();
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
}
catch (UnknownHostException e)
{
System.err.println("Don't know about host: localhost.");
System.exit(1);
}
System.out.println(in.readLine());
System.out.println(in.readLine());
BufferedReader stdIn = new BufferedReader(
new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println(in.readLine());
}
out.close();
in.close();
echoSocket.close();
}
public Socket getSocket() throws UnknownHostException , IOException
{
Socket echoSocket = null;
echoSocket = new Socket ( "localhost", 1111);
return echoSocket;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -