Java学习笔记第十天—网络编程

网络编程入门

1.1 网络编程概述

Java学习笔记第十天—网络编程_第1张图片

1.2 网络编程的三要素

Java学习笔记第十天—网络编程_第2张图片

1.3 IP地址

Java学习笔记第十天—网络编程_第3张图片

 

Java学习笔记第十天—网络编程_第4张图片

1.4 InetAddress

Java学习笔记第十天—网络编程_第5张图片

Java学习笔记第十天—网络编程_第6张图片

1.5 端口

Java学习笔记第十天—网络编程_第7张图片

1.6 协议

Java学习笔记第十天—网络编程_第8张图片

Java学习笔记第十天—网络编程_第9张图片

2 UDP通信程序

2.1 UDP通信原理

Java学习笔记第十天—网络编程_第10张图片

Java学习笔记第十天—网络编程_第11张图片

2.3 UDP接收数据

Java学习笔记第十天—网络编程_第12张图片

Java学习笔记第十天—网络编程_第13张图片

2.4 UDP通信练习

Java学习笔记第十天—网络编程_第14张图片

Java学习笔记第十天—网络编程_第15张图片

3.TCP通信程序

3.1 TCP通信原理

Java学习笔记第十天—网络编程_第16张图片

3.2 TCP发送数据

Java学习笔记第十天—网络编程_第17张图片

Java学习笔记第十天—网络编程_第18张图片

3.3 TCP接收数据

Java学习笔记第十天—网络编程_第19张图片

Java学习笔记第十天—网络编程_第20张图片

Java学习笔记第十天—网络编程_第21张图片

3.4 TCP通信程序练习

Java学习笔记第十天—网络编程_第22张图片

package com.itheima_05;

/*
    客户端,发送数据,接收服务器反馈
 */

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端的Socket对象(Socket)
        Socket s = new Socket("192.168.31.120",1000);
        //获取输出流,写数据
        OutputStream os = s.getOutputStream();
        os.write("hello,tcp,我来啦".getBytes());

        //接收服务器反馈
        InputStream is = s.getInputStream();
        byte[] bys = new byte[1024];
        int len = is.read(bys);
        String data = new String(bys,0,len);
        System.out.println("客户端:"+data);


        //释放资源
        s.close();
    }
}
package com.itheima_05;

/*
    服务端,获取输入流读数据
 */

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器端的Socket对象
        ServerSocket ss = new ServerSocket(1000);

        //监听客户端连接,返回一个Socket对象
        Socket s = ss.accept();

        //获取输入流,读数据,并把数据显示在控制台
        InputStream is = s.getInputStream();
        byte[] bys = new byte[1024];
        int len = is.read();
        String data = new String(bys,0,len);
        System.out.println("服务器:"+data);

        //给出反馈
        OutputStream os = s.getOutputStream();
        os.write("数据已经收到".getBytes());

        //释放资源
        ss.close();
    }
}

package com.itheima_06;

/*
    客户端:数据来自于键盘录入,直到输入的数据是886.发送数据结束
* */

import java.io.*;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象
        Socket s = new Socket("192.168.227.1",10002);

        //数据来自于键盘录入,直到输入的数据是886.发送数据结束
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //封装输入流对象
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        String line;
        while((line=br.readLine())!=null){
            if("886".equals(line)){
                break;
            }
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        s.close();
    }
}
package com.itheima_06;

/*
    服务器:接收到的数据在控制台输出
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器Socket对象
        ServerSocket ss = new ServerSocket(10002);

        //监听客户端的连接,返回一个对应的Socket对象
        Socket s = ss.accept();
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String line;
        while((line = br.readLine())!= null){
            System.out.println(line);
        }

        //释放资源
        ss.close();

    }
}

package com.itheima_07;

/*
    客户端:数据来自于键盘录入,直到输入的数据是886.发送数据结束
* */

import java.io.*;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象
        Socket s = new Socket("192.168.227.1",10002);

        //数据来自于键盘录入,直到输入的数据是886.发送数据结束
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //封装输入流对象
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        String line;
        while((line=br.readLine())!=null){
            if("886".equals(line)){
                break;
            }
            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        s.close();
    }
}
package com.itheima_07;

/*
    服务器:接收到的数据写入文本文件
 */

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器Socket对象
        ServerSocket ss = new ServerSocket(10002);

        //监听客户端连接,返回一个对应的Socket对象
        Socket s = ss.accept();

        //接收数据
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        //吧数据写入文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("idea_test\\s.txt"));

        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        bw.close();
        ss.close();
    }


}

package com.itheima_08;

/*
     客户端:数据来自于文本文件
 */

import java.io.*;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象
        Socket s = new Socket("192.168.227.1",10002);
        //封装文本文件的数据
        BufferedReader br = new BufferedReader(new FileReader("idea_test\\s.txt"));
        //封装输出流写数据
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        br.close();
        s.close();


    }
}
package com.itheima_08;

/*
    服务器:接收到的数据写入文本文件
 */

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器Socket对象
        ServerSocket ss = new ServerSocket(10002);

        //监听客户端连接,返回一个对应的Socket对象
        Socket s = ss.accept();

        //接收数据
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        //吧数据写入文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("idea_test\\copy.txt"));

        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        bw.close();
        ss.close();
    }


}

Java学习笔记第十天—网络编程_第23张图片

package com.itheima_09;

import java.io.*;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象
        Socket s = new Socket("192.168.227.1",10002);
        //封装文本文件的数据
        BufferedReader br = new BufferedReader(new FileReader("idea_test\\s.txt"));
        //封装输出流写数据
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        //自定义结束标记
//        bw.write("886");
//        bw.newLine();
//        bw.flush();

        s.shutdownOutput();

        //接收反馈
        BufferedReader brClient = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String data = brClient.readLine();//等待读取数据
        System.out.println("服务器的反馈:"+data);

        br.close();
        s.close();


    }
}
package com.itheima_09;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器Socket对象
        ServerSocket ss = new ServerSocket(10002);

        //监听客户端连接,返回一个对应的Socket对象
        Socket s = ss.accept();

        //接收数据
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        //吧数据写入文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("idea_test\\copy.txt"));

        String line;
        while((line=br.readLine())!=null){//等待读取数据
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        //给出反馈
        BufferedWriter bwServer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        bwServer.write("文件上传成功");
        bwServer.newLine();
        bwServer.flush();

        //释放资源
        bw.close();
        ss.close();
    }


}

package com.itheima_09;

import java.io.*;
import java.net.Socket;

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象
        Socket s = new Socket("192.168.227.1",10002);
        //封装文本文件的数据
        BufferedReader br = new BufferedReader(new FileReader("idea_test\\s.txt"));
        //封装输出流写数据
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

        String line;
        while((line=br.readLine())!=null){
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        //自定义结束标记
//        bw.write("886");
//        bw.newLine();
//        bw.flush();

        s.shutdownOutput();

        //接收反馈
        BufferedReader brClient = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String data = brClient.readLine();//等待读取数据
        System.out.println("服务器的反馈:"+data);

        br.close();
        s.close();


    }
}
package com.itheima_09;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器Socket对象
        ServerSocket ss = new ServerSocket(10002);

        //监听客户端连接,返回一个对应的Socket对象
        Socket s = ss.accept();

        //接收数据
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        //吧数据写入文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("idea_test\\copy.txt"));

        String line;
        while((line=br.readLine())!=null){//等待读取数据
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        //给出反馈
        BufferedWriter bwServer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        bwServer.write("文件上传成功");
        bwServer.newLine();
        bwServer.flush();

        //释放资源
        bw.close();
        ss.close();
    }


}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Java)