java网络编程

一、网络编程入门

1、网络编程概述

 

2、网络编程的三要素

 

3、IP地址 

 InetAddress类

示例:

 

4、端口

5、协议

 

 

二、UDP通信程序

1、UDP通信原理

2、UDP发送数据

 示例:

复制代码
package com.itbianma01;

import java.io.IOException;
import java.net.*;

public class Demo {
    public static void main(String[] args) throws IOException {
        //创建发送端的Socket对象
        DatagramSocket ds = new DatagramSocket();
        //创建数据,并将数据打包
        byte[] bys = "hello,我来了".getBytes();
        DatagramPacket db = new DatagramPacket(bys, bys.length, InetAddress.getByName("192.168.6.52"), 10086);
        //发送数据
        ds.send(db);
        //关闭发送端
        ds.close();
    }
}
复制代码

 

3、UDP接收数据

示例:

复制代码
package com.itbianma01;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class ReceiveDemo {
    public static void main(String[] args) throws IOException {
        //创建接收端的Socket对象
        //DatagramSocket(int port) 构造函数将绑定到本地主机上的指定端口
        DatagramSocket ds = new DatagramSocket(10086);
        //创建一个数据包,用于接收数据
        byte[] bys = new byte[1024];
        DatagramPacket dp = new DatagramPacket(bys, bys.length);
        //调用DatagramSocket对象的方法接收数据
        ds.receive(dp);
        //解析数据包,并把数据在控制台显示
        byte[] datas = dp.getData();
        int len=dp.getLength();
        String dataString = new String(datas,0,len);
        System.out.println("数据是:" + dataString);
        ds.close();
    }
}
复制代码

 

三、TCP通信程序

1、TCP通信原理

 

2、TCP发送数据

示例:

复制代码
package com.itbianma02;

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

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端的Socket对象
        Socket s = new Socket("192.168.6.52", 10000);
        //获取输出流,写数据
        OutputStream os= s.getOutputStream();
        os.write("hello,我来了".getBytes());
        s.close();
    }
}
复制代码

 

3、TCP接收数据 

示例: 

复制代码
package com.itbianma02;

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

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务端的Socket对象
        ServerSocket ss = new ServerSocket(10001);
        //接收数据
        Socket s = ss.accept();
        //获取输入流,读数据,并把数据显示在控制台
        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();
        ss.close();
    }
}
复制代码

 

四、TCP通信实例

 

 客户端:

 

服务端:

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
posted @   搬砖滴  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示