socket编程server和client简单的读取和输出数据(1)
程序员文章站
2022-04-03 19:51:17
...
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; } @Override public String toString() { return "User name:" + name + ", age:" + age; } } User类,需要实现序列化。否则会报java.io.NotSerializableException异常。 输出: 1.服务端console: Server starting... port:9998... Server...从客户端读取:User name:FrankcoLuo, age:90 2.客户端console: client ... Client...从服务器读取:User name:FrankcoLuo, age:90
上一篇: win10电脑没有输入法语言栏
下一篇: css字体有哪些