java:网络编程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public class InetAddressDemo {
    public static void main(String[] args) {
        try{
            InetAddress inetAddress = InetAddress.getByName("DESKTOP-EPV333G");
            String name = inetAddress.getHostName();
            String ip = inetAddress.getHostAddress();
            System.out.println(ip);
            System.out.println(name);
        }catch (Exception e){
            e.getStackTrace();
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public class UDPSendDemo {
    public static void main(String[] args) {
        try {
            DatagramSocket datagramSocket = new DatagramSocket();
            byte[] bytes = "hello".getBytes();
            //构造一个数据包,发送长度为length的数据包到指定主机上的端口
            DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length, InetAddress.getByName("202.113.76.235"), 10086);
            datagramSocket.send(datagramPacket);
            datagramSocket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

public class UDPReceiveDemo {
    public static void main(String[] args) throws IOException {
        //创建接收端Socket对象
        DatagramSocket datagramSocket = new DatagramSocket(10086);
        //创建数据包,接收数据
        byte[] bytes = new byte[1024];
        DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
        datagramSocket.receive(datagramPacket);
        //解析数据包
        byte[] bytes1 = datagramPacket.getData();
        int length = datagramPacket.getLength();
        String data = new String(bytes1, 0, length);
        System.out.println(data);
        datagramSocket.close();
    }
}

在这里插入图片描述

public class SendTest {
    public static void main(String[] args) {
        try {
            DatagramSocket datagramSocket = new DatagramSocket();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                if ("886".equals(line)) {
                    break;
                }
                byte[] bytes = line.getBytes();
                DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length, InetAddress.getByName("202.113.76.235"),12345);
                datagramSocket.send(datagramPacket);
            }
            datagramSocket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
public class ReceiveTest {
    public static void main(String[] args) {
       try {
            DatagramSocket datagramSocket = new DatagramSocket(12345);
            while (true) {
                byte[] bytes = new byte[1024];
                DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
                datagramSocket.receive(datagramPacket);
                System.out.println(new String(datagramPacket.getData(), 0, datagramPacket.getLength()));
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public class ClientDemo {
    public static void main(String[] args) {
        try {
            //Socket socket = new Socket(InetAddress.getByName("202.113.76.235"), 10000);
            Socket socket = new Socket("202.113.76.235",10000);
            OutputStream outputStream = socket.getOutputStream();
            outputStream.write("hello".getBytes());
            socket.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

在这里插入图片描述

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        Socket socket = serverSocket.accept();
        InputStream inputStream = socket.getInputStream();
        byte[] bytes = new byte[1024];
        int len = inputStream.read(bytes);
        String data = new String(bytes, 0, len);
        System.out.println(data);
        socket.close();
        serverSocket.close();
    }
}

在这里插入图片描述

public class ClientTest {
    public static void main(String[] args) throws IOException {
        //创建客户端的Socket对象
        Socket socket = new Socket("202.113.76.235", 12345);
        //获取输出流,写数据
        OutputStream outputStream = socket.getOutputStream();
        outputStream.write("hello".getBytes());
        //接收服务器端反馈
        InputStream inputStream = socket.getInputStream();
        byte[] bytes = new byte[1024];
        int len = inputStream.read(bytes);
        String data = new String(bytes, 0, len);
        System.out.println("客户端" + data);
        //释放资源
        inputStream.close();
        outputStream.close();
        socket.close();
    }
}
public class ServerTest {
    public static void main(String[] args) throws IOException {
        //创建服务器端的socket对象
        ServerSocket serverSocket = new ServerSocket(12345);
        //监听客户端连接,返回一个Socket对象
        Socket socket = serverSocket.accept();
        //获取输入流,读数据,将数据显示在控制台
        InputStream inputStream = socket.getInputStream();
        byte[] bytes = new byte[1024];
        int len = inputStream.read(bytes);
        String data = new String(bytes, 0, len);
        System.out.println("服务器" + data);
        //给出反馈
        OutputStream outputStream = socket.getOutputStream();
        outputStream.write("数据已收到".getBytes());
        serverSocket.close();
    }
}

在这里插入图片描述

public class ClientTest {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("202.113.76.235", 12345);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            if("886".equals(line)){
                break;
            }
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        socket.close();
    }
}
public class ServerTest {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        Socket socket = serverSocket.accept();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }
        serverSocket.close();
    }
}

在这里插入图片描述

public class ClientTest {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("202.113.76.235", 12345);
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            if("886".equals(line)){
                break;
            }
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        socket.close();
    }
}
public class ServerTest {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        Socket socket = serverSocket.accept();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter("tcp.txt"));
        String line;
        while((line=bufferedReader.readLine())!=null){
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        bufferedWriter.close();
        serverSocket.close();
    }
}

在这里插入图片描述

public class ClientTest {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("202.113.76.235", 12345);
        BufferedReader bufferedReader = new BufferedReader(new FileReader("itcast\\copy.java"));
        BufferedWriter bufferedWriter =new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        String line;
        while ((line=bufferedReader.readLine())!=null){
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        bufferedReader.close();
        socket.close();
    }
}
public class ServerTest {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        Socket socket = serverSocket.accept();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("itcast\\tcp.java"));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        bufferedWriter.close();
        serverSocket.close();
    }
}

在这里插入图片描述

public class ClientTest {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("202.113.76.235", 12345);
        //copy.java传到tcp.java
        BufferedReader bufferedReader = new BufferedReader(new FileReader("itcast\\copy.java"));
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        /*bufferedWriter.write("886");
        bufferedWriter.newLine();
        bufferedWriter.flush();*/
        socket.shutdownOutput();
        //接收反馈
        BufferedReader bufferedReaderClient = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String data = bufferedReaderClient.readLine();
        System.out.println("服务器的反馈:" + data);
        bufferedReader.close();
        socket.close();
    }
}
public class ServerTest {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        Socket socket = serverSocket.accept();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("itcast\\copy2.java"));
        String line;
        while ((line = bufferedReader.readLine()) != null) {//等待读取数据
            /*if ("886".equals(line)) {
                break;
            }*/
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        //给出反馈
        BufferedWriter bufferedWriterServer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        bufferedWriterServer.write("上传成功");
        bufferedWriterServer.newLine();
        bufferedWriterServer.flush();

        bufferedWriter.close();
        serverSocket.close();
    }
}

在这里插入图片描述

public class ClientTest {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("202.113.76.235", 12345);
        BufferedReader bufferedReader = new BufferedReader(new FileReader("itcast\\tcp.java"));
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        String line;
        while((line=bufferedReader.readLine())!=null){
            bufferedWriter.write(line);
            bufferedWriter.newLine();
            bufferedWriter.flush();
        }
        socket.shutdownOutput();
        BufferedReader bufferedReaderClient = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String data=bufferedReaderClient.readLine();
        System.out.println("服务器反馈的:"+data);
        bufferedReader.close();
        socket.close();
    }
}
public class ServerTest {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        while (true) {
            Socket socket = serverSocket.accept();
            new Thread(new ServerThread(socket)).start();
        }
    }
}
public class ServerThread implements Runnable {
    private Socket socket;
    public ServerThread(Socket s) {
        this.socket = s;
    }
    @Override
    public void run() {
        try {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("itcast\\copy4.java"));
            //解决文件名称问题
            SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyyMMddHHmmss");
            //获取当前时间并作为时间戳给文件夹命名
            String timeStamp1=simpleDateFormat.format(new Date());
            File file  = new File("itcast\\"+timeStamp1+".java");
            /*int count=0;
            File file = new File("itcast\\copy"+count+".java");
            while (file.exists()){
                count++;
                file = new File("itcast\\copy"+count+".java");
            }*/
            BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(file));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                bufferedWriter.write(line);
                bufferedWriter.newLine();
                bufferedWriter.flush();
            }
            BufferedWriter bufferedWriterServer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            bufferedWriterServer.write("文件上传成功");
            bufferedWriterServer.newLine();
            bufferedWriterServer.flush();
            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会编程的小企鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值