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 如果哪位高手知道是怎么回事,麻烦跟小弟说一声,留个言,万分感谢
- java学习笔记-----java网络编程四
- Java网络编程学习笔记(四)Internet地址
- java网络编程学习笔记
- JAVA网络编程学习笔记
- java网络编程学习笔记
- java学习笔记-网络编程
- Java网络编程 学习笔记
- Java学习笔记------网络编程
- java学习笔记网络编程
- Java网络编程学习笔记
- 《JAVA网络编程》阅读笔记(四)
- Java网络编程知识-笔记四
- java学习记录(四)网络编程
- java网络编程(四)
- java学习笔记------Java网络编程三
- java学习笔记------java网络编程五
- JAVA笔记:Java网络编程(四)UDP程序设计
- 12.6-全栈Java笔记:Java网络编程(四)
- 与工作相结合实用性eclipse用法(pydev+robotframework+背景颜色)
- 基于S3C2410的SD卡linux驱动工作原理
- JSTL—core标签库01 (2)
- Activity和Task(栈)的关系
- JSTL—core标签库02(3)
- java学习笔记-----java网络编程四
- 内存池的实现(一)
- 单行文字间歇向上滚动,放上光标就停,移开继续滚动。
- 类的赋值运算符=的重载,以及深拷贝和浅拷贝
- c++ 中DLL怎样导出类,从别处看到的,转过来记下
- 基于 mini2440 电阻式触摸屏(四):mini2440触摸屏驱动分析
- java之抽象类
- 哈希表——分离链接法
- 长安欧力威1.4L 更酷更炫两厢车