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通信实例
客户端:
服务端:
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现