Java教程

Java自学-网络编程(3)

本文主要是介绍Java自学-网络编程(3),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java自学-网络编程(3)

1、TCP实现聊天

image-20210807082626246

2、TCP文件上传实现

服务器端

package lesson02;

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

/**
 * Author: Gu Jiakai
 * Date: 2021/8/7 8:48
 * FileName: TcpServerDemo02
 * Description:
 */
public class TcpServerDemo02 {
    public static void main(String[] args) throws Exception {
//        1、创建服务。
        ServerSocket serverSocket = new ServerSocket(9000);

//        2、监听客户端的连接。
        Socket socket = serverSocket.accept();//阻塞式监听,会一直等待客户端 的连接。

//        3、获取输入流。
        InputStream is = socket.getInputStream();

//        4、文件输出。
        FileOutputStream fos = new FileOutputStream(new File("receive.jpg"));
        byte[] buffer = new byte[1024];
        int len;
        while((len=is.read(buffer))!=-1){
            fos.write(buffer,0,len);
        }

        //5、通知客服端,我接收完毕了。
        OutputStream os = socket.getOutputStream();
        os.write("我已接收完毕,你可以断开了".getBytes());

        //6、关闭资源。
        os.close();
        fos.close();
        is.close();
        socket.close();
        serverSocket.close();


    }
}

客户端

package lesson02;

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

/**
 * Author: Gu Jiakai
 * Date: 2021/8/7 8:29
 * FileName: TcpCilentDemo02
 * Description:
 */
public class TcpCilentDemo02 {
    public static void main(String[] args) throws Exception {
        //    1、创建一个Socket连接。
        Socket socket = new Socket(InetAddress.getByName("127.0.0.1"), 9000);

        //2、创建一个输出流。
        OutputStream os = socket.getOutputStream();

        //3、读取文件
        FileInputStream fis = new FileInputStream(new File("D:\\Java\\Net_Study\\src\\lesson02\\小灰栗.jpg"));
        //4、写出文件。
        byte[] buffer = new byte[1024];
        int len;
        while((len=fis.read(buffer))!=-1){
            os.write(buffer,0,len);
        }

        //通知服务器,我已经结束了
        socket.shutdownOutput();//我已经传输完了!

//        5、确定服务器接收完毕。
        InputStream inputStream = socket.getInputStream();
        //String byte[]
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        byte[] buffer2 = new byte[1024];
        int len2;
        while((len2=inputStream.read(buffer2))!=-1){
            baos.write(buffer2,0,len2);
        }

        System.out.println(baos.toString());

//        6、关闭资源。
        baos.close();
        inputStream.close();
        fis.close();
        os.close();
        socket.close();
    }
}

3、初识Tomcat

image-20210807093730533

这篇关于Java自学-网络编程(3)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!