第10章 网络编程 03_TCP_Socket_二
第10章 网络编程 03_TCP_Socket_2
TestSockServer.java/TestSockClient.java
鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.5)
几个示例的小程序
TestServer.java/TestClient.java
// TestServer.java /* 范例名称:简单的Server/Client程序 * 源文件名称:TestServer.java/TestClient.java * 要点: * 1. Java Socket编程步骤; * 2. Socket/ServerSocket类的用法; * 3. 通过Socket对象可以获得通信对方Socket的信息 */ import java.net.*; import java.io.*; public class TestServer { public static void main(String args[]) { try { ServerSocket s = new ServerSocket(8888); while(true) { Socket s1 = s.accept(); OutputStream os = s1.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeUTF("Hello," + s1.getInetAddress() + " port #" + s1.getPort() + " bey-bey!" ); dos.close(); s1.close(); } } catch (IOException e) { e.printStackTrace(); System.out.println("程序运行错误" + e); } } } //TestClient.java /* 范例名称:简单的Server/Client程序 * 源文件名称:TestServer.java/TestClient.java * 要点: * 1. Java Socket编程步骤; * 2. Socket/ServerSocket类的用法; * 3. 通过Socket对象可以获得通信对方Socket的信息 */ import java.net.*; import java.io.*; public class TestClient { public static void main(String args[]) { try { Socket s1 = new Socket("127.0.0.1", 8888); InputStream is = s1.getInputStream(); DataInputStream dis = new DataInputStream(is); System.out.println(dis.readUTF()); dis.close(); s1.close(); } catch (ConnectException connExc) { connExc.printStackTrace(); System.out.println("服务器连接失败!"); } catch( IOException e) { e.printStackTrace(); } } }
TestSockServer.java/TestSockClient.java
// TestSockServer.java import java.net.*; import java.io.*; public class TestSockServer { public static void main(String args[]) { InputStream in = null; OutputStream out = null; try { ServerSocket ss = new ServerSocket(5888); Socket socket = ss.accept(); in = socket.getInputStream(); out = socket.getOutputStream(); DataInputStream dis = new DataInputStream(in); DataOutputStream dos = new DataOutputStream(out); String s = null; if((s = dis.readUTF()) != null) { System.out.println(s); System.out.println("from: " + socket.getInetAddress()); System.out.println("port: " + socket.getPort()); } dos.writeUTF("hi, hello"); dos.close(); dis.close(); socket.close(); } catch(ConnectException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } // TestSockClient.java import java.net.*; import java.io.*; public class TestSockClient { public static void main(String args[]) { try { Socket socket = new Socket("localhost", 5888); InputStream in = null; OutputStream out = null; in = socket.getInputStream(); out = socket.getOutputStream(); DataInputStream dis = new DataInputStream(in); DataOutputStream dos = new DataOutputStream(out); dos.writeUTF("hey"); String s = null; if((s = dis.readUTF()) != null) { System.out.println(s); } dos.close(); dis.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }