网络编程应用:基于TCP协议【实现对象传输】--练习
来源:互联网 发布:查重软件有哪些 编辑:程序博客网 时间:2024/06/05 03:42
要求:
基于TCP协议实现,客服端向服务器发送一个对象服务器接受并显示用户信息 ,同时返回给客户端 "数据已收到"建一个Student类,属性:name age
Student类
package Homework3;import java.io.Serializable;public class Student implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + ", sex=" + sex + "]"; } public Student(String name, int age, String sex) { super(); this.name = name; this.age = age; this.sex = sex; } public Student() { super(); }}
客户端:
package Homework3;import java.io.IOException;import java.io.InputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.net.Socket;public class Client { public static void main(String[] args) { System.out.println("客户端已启动!"); //1.创建要传输的Student对象 Student student=new Student("吴德利", 30, "女"); Socket socket=null; OutputStream os=null; InputStream is=null; ObjectOutputStream oos=null; byte[] b=new byte[1024]; try { //2.创建Socket对象,并得到相应的输出流----以及创建对象流 socket=new Socket("localhost", 9999); os=socket.getOutputStream(); oos=new ObjectOutputStream(os); //3.将对象发送给服务器 oos.writeObject(student); //4.接收服务器端传输完毕,返回的回复 is=socket.getInputStream(); is.read(b); String string=new String(b); System.out.println(string); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(os!=null){ try { os.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(is!=null){ try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(socket!=null){ try { socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(oos!=null){ try { oos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}
服务器端:
package Homework3;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) { System.out.println("服务器端已启动!"); ServerSocket serverSocket=null; Socket socket=null; ObjectInputStream ois=null; OutputStream os=null; InputStream is=null; try { //1.创建ServerSocket对象,获得Socket对象以及输入 serverSocket=new ServerSocket(9999); socket=serverSocket.accept(); is=socket.getInputStream(); //2.创建对象流 ois=new ObjectInputStream(is); //3.接收数据,并将接收的对象转为原来的对象类型 Student student=(Student)ois.readObject(); System.out.println(student); //4.返回给客户端,"数据已收到" os=socket.getOutputStream(); os.write("数据已收到".getBytes()); os.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(serverSocket!=null){ try { serverSocket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(socket!=null){ try { socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(os!=null){ try { os.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(is!=null){ try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(ois!=null){ try { ois.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}
运行结果:
客户端:
服务器端:
0 0
- 网络编程应用:基于TCP协议【实现对象传输】--练习
- 网络编程应用:基于TCP协议【实现文件上传】--练习
- 网络编程应用:基于UDP协议【实现文件下载】--练习
- 网络编程应用:基于UDP协议【实现聊天程序】--练习
- 网络编程应用:基于TCP协议【实现一个聊天程序】
- {网络编程}和{多线程}应用:基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习
- 网络编程--传输协议tcp/udp
- 网络传输层协议中,基于TCP/IP协议…
- 基于ProtoBuf协议实现网络传输(一)
- {网络编程}和{多线程}应用:基于UDP协议【实现多发送方发送数据到同一个接收者】--练习
- 基于TCP协议的网络编程
- 基于Tcp协议的网络编程
- 基于TCP协议的网络编程
- 基于TCP/IP协议的网络编程
- 17.3 基于TCP协议的网络编程
- 基于TCP协议的网络编程:
- 26-网络编程-15-网络编程(TCP协议-练习-常见问题)
- java 网络编程 基于TCP ,UDP的网络传输
- 利用HorizontalScrollView自己写一个viewPager指示器
- 阻抗匹配的简单理解
- 二分贪心-O
- 用10行代码自己写个人脸识别程序
- HTML学习笔记_(1)
- 网络编程应用:基于TCP协议【实现对象传输】--练习
- 微信上传图片
- 注解(1)
- Paint、Canvas、Matrix使用讲解
- android 从setContentView到window显示机制
- qt 之 生成pdf
- iOS 指定设置控件圆角
- tornado和ajax交互
- 关于JQuery源码解析