1:网络编程
(1)网络编程 用java实现不同计算机间的数据通信和共享问题。
(2)网络编程三要素
A:IP地址
计算机的唯一标识
B:端口
计算机的应用程序标识
范围:0-65535
0-1024被占用或者保留。
C:
协议
计算机间的通信规则
UDP:
数据打包
大小有
限制
无连接
不可靠
速度快
TCP:
连接通道
大小无限制
面向连接
可靠
速度慢
(3)Socket机制
Socket就是为网络编程提供的一种机制。(Socket编程,套接字编程。)
A:每一端都有一个Socket服务
B:数据是在Socket间通过IO流传输
(4)UDP
A:发送端
a:创建发送端Socket服务
b:创建数据把数据打包
c:发送数据
d:释放资源
代码体现:
DatagramSocket ds = new DatagramSocket();
byte[] bys = "hello,udp".getBytes();
DatagramPacket dp = new DatagramPacket(bys,bys.length,InetAddress.getByName("192.168.3.100"),10000);
ds.send(dp);
ds.close();
B:接收端
a:创建接收端Socket服务
b:创建数据包
c:接收数据
d:
解析数据
e:释放资源
代码体现:
DatagramSocket ds = new DatagramSocket(10000);
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys,bys.length);
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
String data = new String(dp.getData(),0,dp.getLength());
System.out.println(ip+"***"+data);
ds.close();
(5)TCP
A:客户端
a:创建客户端Socket服务
b:获取输出流输出数据
c:释放资源
代码体现:
Socket s = new Socket("192.168.3.100",11111);
OutputStream os = s.getOutputStream();
os.write("hello,tcp".getBytes());
s.close();
B:服务器端
a:创建服务器Socket服务
b:
监听客户端的连接
c:获取输入流读取数据
d:释放资源
代码体现:
ServerSocket ss = new ServerSocket(11111);
Socket s = ss.accept();
InputStream is = s.getInputStream();
byte[] bys = new byte[1024]
int len = is.read(bys);
String client = new String(bys,0,len);
System.out.println(client);
s.close();