zoukankan      html  css  js  c++  java
  • 流式套接字:基于TCP协议的Socket网络编程(案例3)

    案例:在案例1的基础上将传输的字符串换成具体的对象。

    客户端代码:

    package com.yh.SocketObject;
    
    import java.io.IOException;
    import java.io.ObjectOutputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    public class LoginClient {
        public static void main(String[] args) {
            Student stu = new Student("YeHuan",23);
            try {
                Socket socket = new Socket("localhost",5001);
                OutputStream os = socket.getOutputStream();
                ObjectOutputStream oos = new ObjectOutputStream(os);
                oos.writeObject(stu);
                socket.close();
            } catch (UnknownHostException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    服务器代码:

    package com.yh.SocketObject;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.ObjectInputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class LoginServer {
        public static void main(String[] args) {
            try {
                ServerSocket sc = new ServerSocket(5001);
                Socket socket = sc.accept();
                InputStream is = socket.getInputStream();
                ObjectInputStream ois = new ObjectInputStream(is);
                Student stu = (Student) ois.readObject();
                System.out.println(stu.name +" " + stu.age + "岁");
                sc.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    Student类:

    package com.yh.SocketObject;
    
    import java.io.Serializable;
    
    public class Student implements Serializable {
        private static final long serialVersionUID = 1L;
        public int age;
        public String name;
        
        public Student() {}
        public Student(String name,int age) {
            this.name = name;
            this.age = age;
        }
    }
  • 相关阅读:
    TestNG教程网站
    BITE
    软件测试理论
    Java 学习笔记 (八) Java 变量
    封装
    把封装脚本做成jar包
    表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)
    IOException parsing XML document from class path resource [WebRoot/WEB-INF/applicationContext.xml];
    java 里面耦合和解耦
    JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
  • 原文地址:https://www.cnblogs.com/YeHuan/p/10792902.html
Copyright © 2011-2022 走看看