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通信实例
客户端:
服务端: