java学习之简单的网络编程
来源:互联网 发布:php开发规范文档 编辑:程序博客网 时间:2024/05/22 09:01
在学习网络编程的过程中,简单写了一下客户端和服务器的小demo
package Ray.net2;import java.io.DataInputStream;import java.io.DataOutputStream;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 {static ServerSocket server = null;static ObjectInputStream ois = null;static DataOutputStream dos= null;static Socket accept=null;public static void main(String[] args) {try {server= new ServerSocket(8000);while(true){accept= server.accept();Runnable r = new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubInputStream is;try {is = accept.getInputStream();ois = new ObjectInputStream(is);OutputStream os = accept.getOutputStream();dos= new DataOutputStream(os);User user = (User)ois.readObject();boolean flag = false;if("marie".equals(user.getUsername())&&"123456".equals(user.getPassword())){flag =true;}dos.writeBoolean(flag);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}};new Thread(r).start();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
package Ray.net2;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.net.Socket;import java.util.Scanner;public class Client {public static void main(String[] args) {Socket client = null;DataInputStream dis=null;Scanner in = new Scanner(System.in);ObjectOutputStream oos =null;try {client= new Socket("127.0.0.1", 8000);OutputStream os = client.getOutputStream();oos= new ObjectOutputStream(os);User user =new User();String username = in.nextLine();String password = in.nextLine();user.setUsername(username);user.setPassword(password);oos.writeObject(user);InputStream is = client.getInputStream();dis= new DataInputStream(is);boolean flag = dis.readBoolean();if(flag){System.out.println("yes");}else{System.out.println("error");}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {try {if(dis!=null)dis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {if(oos!=null)oos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
package Ray.net2;import java.io.Serializable;public class User implements Serializable{/** * */private static final long serialVersionUID = 1L;private String username;private String password;public User() {//super();// TODO Auto-generated constructor stub}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User [username=" + username + ", password=" + password + "]";}}需要注意的是创建一个对象时,如果传数据,需要对该对象进行序列化,还有就是,如果觉得代码的一部分每次只需调用一次那么,我们可以使用内部类,还有一点就是对我编程小白来说,每次需要先启动服务器,这也是我在测试过程慢慢掌握的。
阅读全文
0 0
- java学习之简单的网络编程
- java学习之 网络编程
- java--------学习之《网络编程》
- Java学习之网络编程
- Java学习之网络编程
- Java简单的网络编程
- Java网络编程之(一): TCP的简单连接
- Java网络编程之(一): TCP的简单连接
- Java 网络编程简单学习笔记1
- Java 网络编程简单学习2
- java网络编程之简单客户端服务器
- java学习之路 之 网络编程
- Java------网络通信编程 之 菜鸟新手的学习总结
- Java网络编程的学习
- 嵌入式Linux网络编程 之 简单的UDP网络编程
- 嵌入式Linux网络编程 之 简单的TCP网络编程
- 简单的网络编程学习TCP/UDP
- 黑马程序员--java学习之网络编程
- js简介、变量、数据类型和运算符、命名法则
- Android 高仿微信6.0主界面 带你玩转切换图标变色
- Predix发布全新UI视觉系统, 引领工业物联网应用平台新体验
- 【BZOJ2001】[Hnoi2010]City 城市建设
- 浅谈分布式消息技术:Kafka
- java学习之简单的网络编程
- 二维凸包模板(Graham算法)
- 帝国CMS模板 标题截取后加入省略号的方法
- 随意组合--2016 蓝桥杯国赛 C++ A组
- 求逆序对
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)
- 线段树练习4
- c++访问python3-实例化类的方法