socket编程server和client简单的读取和输出数据(1)
import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.ServerSocket;import java.net.Socket;public class Server {public Server() {try {System.out.println("Server starting... port:9998...");ServerSocket ss = new ServerSocket(9998);Socket s = ss.accept();ObjectInputStream ois = new ObjectInputStream(s.getInputStream());User userObj = (User) ois.readObject();System.out.println("Server...从客户端读取:" + userObj.toString());ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());oos.writeObject(userObj);} catch (IOException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}}public static void main(String[] args) {new Server();}} 服务器端,读取客户端数据需要处理业务则处理业务并响应。import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.Socket;import java.net.UnknownHostException;public class Client {public Client() {try {System.out.println("client ...");Socket s = new Socket("127.0.0.1", 9998);User user = new User("FrankcoLuo", 90);ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());oos.writeObject(user);ObjectInputStream ois = new ObjectInputStream(s.getInputStream());User userObj = (User) ois.readObject();System.out.println("Client...从服务器读取:" + userObj.toString());} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}}public static void main(String[] args) {new Client();}}客户端。import java.io.Serializable;public class User implements Serializable{private String name;private int age;public User(String name, int age) {super();this.name = name;this.age = age;}@Overridepublic String toString() {return "User name:" + name + ", age:" + age;}}User类,需要实现序列化。否则会报java.io.NotSerializableException异常。输出:1.服务端console: Server starting... port:9998... Server...从客户端读取:User name:FrankcoLuo, age:902.客户端console: client ... Client...从服务器读取:User name:FrankcoLuo, age:90