javaSE-- 网络编程

本章概述:本章主要讲了网络的基本概念,网络分层,数据的封装与拆分网络爬虫原理和比较重要的TCP编程和UDP编程

本章概述:

一、InetAddressDemo

public class InetAddressDemo {
 
    public static void main(String[] args) throws UnknownHostException {
        InetAddress inetAddress = InetAddress.getLocalHost();
        System.out.println(inetAddress);
 
        InetAddress address = InetAddress.getByName("www.baidu.com");
        System.out.println(address);
        System.out.println(address.getHostName());
        System.out.println(address.getHostAddress());
 
    }

}

二、Server

1、Server


public class Server {
 
    public static void main(String[] args) throws IOException {
        //创建ServerSocket对象
        ServerSocket serverSocket = new ServerSocket(10086);
        System.out.println("**********************服务器已开启... ...**********************");
        //开启一个监听
        Socket server = serverSocket.accept();
        //从socket对象中获取输入流
        InputStream inputStream = server.getInputStream();
        //使用DataInputStream包装流
        DataInputStream dataInputStream = new DataInputStream(inputStream);
        //读取从客户端发送过来的数据
        String s = dataInputStream.readUTF();
        System.out.println("客户端说:" + s);
        //关闭资源
        dataInputStream.close();
        inputStream.close();
        server.close();
        serverSocket.close();
    }

}

2、Sever2

public class Server2 {
 
    public static void main(String[] args) throws IOException {
        //创建ServerSocket对象
        ServerSocket serverSocket = new ServerSocket(10000);
        System.out.println("**********************服务器已开启... ...**********************");
        //开启监听
        Socket server = serverSocket.accept();
        /**************************接收从客户端发送的消息*******************************/
        InputStream inputStream = server.getInputStream();
        byte[] buffer = new byte[1024];
        int length = inputStream.read(buffer);
        System.out.println("客户端说:" +new String(buffer,0,length));
 
        /**************************服务器向客户端响应一条消息*******************************/
        OutputStream outputStream = server.getOutputStream();
        //向客户端传输数据
        outputStream.write("我已收到你的消息,我是服务器!".getBytes());
 
        //关闭资源
         outputStream.close();
         inputStream.close();
         server.close();
         serverSocket.close();
    }

}

三、Client

1、Client

* 模拟客户端向服务器发送一条消息
 *
 * 客户端程序
 */
public class Client {
 
    public static void main(String[] args) throws IOException {
        //创建Socket套接字对象
        Socket client = new Socket("localhost",10086);
        //从socket中获取输出流
        OutputStream outputStream = client.getOutputStream();
        //使用DataOutputStream包装流
        DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
        //发送一条信息给服务器
        dataOutputStream.writeUTF("你好,服务器,我是客户端!");
        //关闭资源
        dataOutputStream.close();
        outputStream.close();
        client.close();
    }
 

}

2、Client2

public class Client2 {
 
    public static void main(String[] args) throws IOException {
        //创建Socket对象
        Socket client = new Socket("127.0.0.1",10000);
        //从socket中获取输出流
        /**************************向服务器发送一条消息*******************************/
        OutputStream outputStream = client.getOutputStream();
        outputStream.write("nihao,服务器,我是客户端!".getBytes());
 
        /**************************接收服务器响应的消息*******************************/
        InputStream inputStream = client.getInputStream();
        //读取服务器响应回来的数据
        byte[] buffer = new byte[1024];
        int length = inputStream.read(buffer);
        System.out.println("服务器说:" + new String(buffer,0,length));
 
        //关闭资源
        inputStream.close();
        outputStream.close();
        client.close();
 
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值