小城镇建设投稿网站,中国设计网app,网站建设时间 人力及成本估算,网站底部导航菜单自己学习时的笔记#xff0c;可能有点水#xff08;
以后可能还会补充#xff08;大概率不会#xff09;
一、基本概念
网络编程三要素#xff1a;
IP 设备在网络中的唯一标识 端口号 应用软件在设备中的唯一标识两个字节表示的整数#xff0c;0~1023用于知名的网络…自己学习时的笔记可能有点水
以后可能还会补充大概率不会
一、基本概念
网络编程三要素
IP 设备在网络中的唯一标识 端口号 应用软件在设备中的唯一标识两个字节表示的整数0~1023用于知名的网络服务和应用其他的可以自己使用注意一个端口号只能由一个应用程序使用 协议 数据在网络中的传输规则 IP细节
IPv4互联网通信协议第四版采取32位地址长度分为四组每组转成十进制中间用“点”隔开注意没有负数 只有四十多亿个2019年就不够用了所以出现了IPv6 IPv4地址分类形式 公网地址私有地址局域网 192.168.开头的地址 特殊IP127.0.0.1本机IPlocalhost IPv6采取128位地址长度分成八组 采取冒分十六进制表示法0位压缩法如果中间有很多0可以压缩不写 例FF01:0:0:0:0:0:0:FF02可以写成FF01::FF02 常用CMD命令 ipconfig查看本机IP ping检查网络是否连通 二、InetAddress类的使用
public class MyInetAddressTest1 {public static void main(String[] args) throws UnknownHostException {//1.确定主机名称的IP地址InetAddress i InetAddress.getByName(LAPTOP-8614VVAT);//填主机名或IP地址System.out.println(i);System.out.println(i.getHostName());System.out.println(i.getHostAddress());}
} 三、UDP协议
1.发送数据
UDP协议的发送不管有没有建立连接都会发送不一定能接收到
步骤
创建发送端的DatagramSocket对象数据打包DatagramPacket发送数据释放资源
import java.io.IOException;
import java.net.*;public class SendMessage {public static void main(String[] args) throws IOException {//1.创建对象//空参随机使用一个端口进行发送//带参指定端口号进行绑定DatagramSocket ds new DatagramSocket();//2.打包数据String str 114514王俊阳没有牛牛;byte[] bytes str.getBytes();InetAddress address InetAddress.getByName(127.0.0.1);//本机IPint port 10086;//端口号//3.发送数据ds.send(new DatagramPacket(bytes,bytes.length,address,port));//4.释放资源ds.close();}
} 2.接收数据
步骤
创建接收端的DatagramSocket对象接收打包好的数据解析数据包释放资源
细节
receive方法是阻塞的会等待消息发送过来注意先启动接收端再启动发送端
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class ReceiveMessage {public static void main(String[] args) throws IOException {//1.创建接收端口//注意一定要绑定端口并且绑定的端口要与发送端口保持一致DatagramSocket ds new DatagramSocket(10086);//2.接收byte[] buf new byte[1024];DatagramPacket dp new DatagramPacket(buf, buf.length);ds.receive(dp);//3.解析数据包byte[] data dp.getData();//获取发来的数据int len dp.getLength();//发来多少数据int port dp.getPort();//端口号InetAddress address dp.getAddress();//IP地址System.out.println(接收到数据 new String(data,0,len));System.out.println(该数据从 address 这台电脑中的 port 端口发出的);ds.close();}
} 3.UDP协议的三种通信方式
1.单播
1对1发送与接收数据
2.组播
给一组电脑发送信息组播地址224.0.0.0~239.255.255.255 其中224.0.0.0~224.0.0.255是预留地址可以我们自己用 创建对象时要创建MulticastSocket对象指定InetAddress时要指定组播的地址
3.广播
给局域网中所有电脑发送数据 地址255.255.255.255 四、TCP协议
一种可靠的网络协议他会在通信的两端分别建立一个Socket对象通信前要保证连接已经建立通过Socket产生IO流来进行网络通讯 客户端步骤
创建Socket对象与指定服务端连接 SocketString hostint port 获取输出流写数据 OutputStream getOutputStream 释放资源 void clear 服务器步骤
创建服务器端的Socket对象 ServerSocketint port 监听客户端连接返回一个Socket对象 Socket accept 从Socket对象中获取输入流读数据并把数据显示在控制台 InputStream getInputStream 释放资源 void clear 三次握手和四次挥手
三次握手为了保证连接的确立 客户端向服务端发出连接请求等待服务器确认服务器向客户端返回一个响应告诉客户端收到了请求客户端向服务端再次发出确认信息建立连接 四次挥手确保连接断开且数据处理完毕 客户端向服务端发出取消链接请求服务端返回一个响应表示受到请求 此时不会断开会将流中最后的数据处理完毕 服务器向客户端发出确认取消的信息客户端再次发出确认信息链接取消