java网络知识大归纳

java网络知识大归纳,第1张


1:通过IP来识别是哪台计算机(唯一标识Interner上的计算机) 通过端口号来判断是计算机上的那个软件
2.提供网络通信协议:TCP/IP协议




127.0.0.1 或者localhost都表示本机服务器

ip在java中使用InetAddress

来一个TCP的案例吧设计一个服务端和一个客户端用客户端给服务端发一条消息
package com.class4.class4_24;

import org.junit.Test;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * 夏晖出品!
 * 必属精品!!
 **/
public class Demo_1 {
    @Test
    public void client()  {
        Socket socket = null;
        OutputStream outputStream = null;
        try {
            InetAddress inetAddress = InetAddress.getByName ("127.0.0.1");
            socket = new Socket (inetAddress , 8890);
            outputStream = socket.getOutputStream ();
            outputStream.write ("我是客户端的哦,没想到吧".getBytes ());
        } catch (IOException e) {
            e.printStackTrace ();
        } finally {
            if(outputStream!= null) {
                try {
                    outputStream.close ();
                } catch (IOException e) {
                    e.printStackTrace ();
                }
            }
            if(socket!=null) {
                try {
                    socket.close ();
                } catch (IOException e) {
                    e.printStackTrace ();
                }
            }
        }
    }
    @Test
    public void service(){
        ServerSocket serverSocket = null;
        Socket accept = null;
        InputStream inputStream = null;
        ByteArrayOutputStream byteArrayOutputStream = null;
        try {
            serverSocket = new ServerSocket (8890);
            accept = serverSocket.accept ();
            inputStream = accept.getInputStream ();
            byteArrayOutputStream = new ByteArrayOutputStream ();
            byte[] bytes = new byte[5];
            int len = 0;
            while((len = inputStream.read (bytes)) != -1){
                byteArrayOutputStream.write (bytes , 0 , len);
            }
            System.out.println (byteArrayOutputStream.toString ());
        } catch (IOException e) {
            e.printStackTrace ();
        } finally {
            if (accept!= null){
                try {
                    accept.close ();
                } catch (IOException e) {
                    e.printStackTrace ();
                }
            }
            if(serverSocket!= null){
                try {
                    serverSocket.close ();
                } catch (IOException e) {
                    e.printStackTrace ();
                }
            }
            if(byteArrayOutputStream!= null){

                try {
                    byteArrayOutputStream.close ();
                } catch (IOException e) {
                    e.printStackTrace ();
                }
            }
            if(inputStream!= null){
                try {
                    inputStream.close ();
                } catch (IOException e) {
                    e.printStackTrace ();
                }
            }
        }

    }
}

package com.class4.class4_24;

import org.junit.Test;

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

/**
 * 夏晖出品!
 * 必属精品!!
 **/
public class Demo_2 {
    @Test
    public void Client() throws IOException {
        Socket socket = new Socket (InetAddress.getByName ("127.0.0.1") , 9999);
        OutputStream outputStream = socket.getOutputStream ();
        FileInputStream fileInputStream = new FileInputStream (new File ("E:\java\新笔记\图论教育笔记\test01\src\目标文件"));
        byte[] bytes = new byte[1024];
        int len = 0;
        while((len = fileInputStream.read (bytes)) != -1){
            outputStream.write (bytes , 0 ,len);
        }
        fileInputStream.close ();
        outputStream.close ();
        socket.close ();
    }
    @Test
    public void Service() throws IOException {
        ServerSocket serverSocket = new ServerSocket (9999);
        Socket accept = serverSocket.accept ();
        InputStream inputStream = accept.getInputStream ();
        FileOutputStream fileOutputStream = new FileOutputStream (new File ("E:\java\新笔记\图论教育笔记\test01\src\存入目标文件"));
        byte[] bytes = new byte[1024];
        int len = 0;
        while((len = inputStream.read (bytes)) != -1){
            fileOutputStream.write (bytes , 0 , len);
        }
        accept.close ();
        serverSocket.close ();
        inputStream.close ();
        fileOutputStream.close ();
    }
}

package com.class4.class4_24;

import org.junit.Test;

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

/**
 * 夏晖出品!
 * 必属精品!!
 **/
public class Demo_2 {
    @Test
    public void Client() throws IOException {
        Socket socket = new Socket (InetAddress.getByName ("127.0.0.1") , 9999);
        OutputStream outputStream = socket.getOutputStream ();
        FileInputStream fileInputStream = new FileInputStream (new File ("E:\java\新笔记\图论教育笔记\test01\src\com\class4\class4_24\photo.png"));
        byte[] bytes = new byte[1024];
        int len = 0;
        while((len = fileInputStream.read (bytes)) != -1){
            outputStream.write (bytes , 0 ,len);
        }
        socket.shutdownOutput ();
        InputStream inputStream = socket.getInputStream ();
        byte[] bytes1 = new byte[5];
        int len1 = 0 ;
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream ();
        while((len1 = inputStream.read (bytes1)) != -1){
            byteArrayOutputStream.write (bytes1 , 0 ,len1);
        }
        System.out.println (byteArrayOutputStream.toString ());
        byteArrayOutputStream.close ();
        inputStream.close ();
        fileInputStream.close ();
        outputStream.close ();
        socket.close ();
    }
    @Test
    public void Service() throws IOException {
        ServerSocket serverSocket = new ServerSocket (9999);
        Socket accept = serverSocket.accept ();
        InputStream inputStream = accept.getInputStream ();
        FileOutputStream fileOutputStream = new FileOutputStream (new File ("E:\java\新笔记\图论教育笔记\test01\src\com\class4\class4_24\photo2.png"));
        byte[] bytes = new byte[1024];
        int len = 0;
        while((len = inputStream.read (bytes)) != -1){
            fileOutputStream.write (bytes , 0 , len);
        }
        OutputStream outputStream = accept.getOutputStream ();
        outputStream.write ("我收到你的照片啦,说好的美女图片呢??".getBytes ());
        outputStream.close ();
        accept.close ();
        serverSocket.close ();
        inputStream.close ();
        fileOutputStream.close ();
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/729426.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存