java学习笔记-----java网络编程四

来源:互联网 发布:mac应用快捷键设置 编辑:程序博客网 时间:2024/06/13 04:09

昨天看了一下对象流的方法,使用对象流可以在服务器与客户端通讯时,省去考虑如何同时传输多条信息,直接把对应信息封装到对象流中即可,例如用户名和密码,当然XML可能会更好用,这里先写对象流,因为比较好实现


代码如下:

   服务器端:

//实现对象流    这样对于传输用户名密码等信息时   不需要考虑空格等问题package com.ServerTest4;import java.net.*;import java.io.*;import com.common.User;public class MyServer4 {public MyServer4(){try {System.out.println("在9999端口等待。。。");//对本机接口实现监听ServerSocket ss = new ServerSocket(3456);//等待连接Socket s = ss.accept();System.out.println("连接成功");ObjectInputStream ois = new ObjectInputStream(s.getInputStream());//准备接收信息   System.out.println("接收到信息:");Object o  = ois.readObject();User u = (User)o;System.out.println(u.getName()+u.getPassword());s.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {// TODO Auto-generated method stubMyServer4 ms4 = new MyServer4();}}


客户端:

  

package com.ClientTest4;import java.io.*;import java.net.*;import com.common.User;public class MyClient4 {public MyClient4(){try {Socket s = new Socket("127.0.0.1",3456);ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());User u = new User();u.setName("dou");u.setPassword("123");System.out.println("我向客户端发送了信息:"+u.getName()+u.getPassword());oos.writeObject(u);s.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {// TODO Auto-generated method stubMyClient4 mc4 = new MyClient4();}}


对象流类:

package com.common;//注意   由于java要求传送对象时必须序列化    因此要实现对应接口public class User implements java.io.Serializable{private String name;private String password;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

注意::

    对象流类要在两个工程文件中都存在,却必须一致!!!!

   就像这样,com.common包中都有对象流类

     

                                


运行结果就不贴图了,如果把对象流文件和客户端或服务器端文件放在一起,总是会显示classnotfoundexception    我用的是Myeclipse6.5    如果哪位高手知道是怎么回事,麻烦跟小弟说一声,留个言,万分感谢

原创粉丝点击