一、socket简单实践
最近在捡回JAVA基础。手头有个项目需要从服务器取下文件,对于网络编程这块已是十分陌生,做些简单的练习熟悉一下。
下面例子是在本地模拟客户端请求连接服务端,服务端发送连接成功信息。
服务端代码:
1 package com.socket; 2 3 import java.io.DataOutputStream; 4 import java.io.IOException; 5 import java.io.OutputStream; 6 import java.net.ServerSocket; 7 import java.net.Socket; 8 import java.net.SocketTimeoutException; 9 10 public class SimpleServer extends Thread { 11 private ServerSocket serverSocket; 12 int port = 5555; 13 14 public void run() { 15 while (true) { 16 try { 17 System.out.println("waiting for prot " 18 + serverSocket.getLocalPort()); 19 Socket socket = serverSocket.accept(); 20 System.out.println("connect to " 21 + socket.getRemoteSocketAddress()); 22 OutputStream outputStream = socket.getOutputStream(); 23 DataOutputStream out = new DataOutputStream(outputStream); 24 out.writeUTF("welcome to connect server"); 25 socket.close(); 26 } catch (SocketTimeoutException e) { 27 System.out.println("time out!"); 28 break; 29 } catch (IOException e) { 30 // TODO Auto-generated catch block 31 e.printStackTrace(); 32 } 33 } 34 } 35 36 public static void main(String[] args) throws IOException { 37 SimpleServer simpleServer = new SimpleServer(); 38 simpleServer.serverSocket = new ServerSocket(simpleServer.port); 39 simpleServer.serverSocket.setSoTimeout(10000); 40 simpleServer.start(); 41 } 42 43 }
客户端代码:
1 package com.socket; 2 3 import java.io.DataInputStream; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.net.Socket; 7 import java.net.UnknownHostException; 8 9 public class Client { 10 private String IP = "127.0.0.1"; 11 private int prot = 5555; 12 private Socket socket; 13 14 public void connect() throws UnknownHostException, IOException{ 15 System.out.println("request "+IP+":"+prot); 16 socket = new Socket(IP,prot); 17 System.out.println("connect to "+socket.getRemoteSocketAddress()); 18 InputStream inputStream = socket.getInputStream(); 19 DataInputStream in = new DataInputStream(inputStream); 20 System.out.println("from Server : "+in.readUTF()); 21 socket.close(); 22 } 23 24 public static void main(String[] args) throws UnknownHostException, IOException { 25 Client client = new Client(); 26 client.connect(); 27 28 } 29 30 }
运行结果:
1.运行服务端,显示如下:
2.运行客户端,显示如下,最后一句是从服务端获取的
3.服务端显示如下:

浙公网安备 33010602011771号