网络编程专题

1.1网络编程三要素

IP地址

端口

协议

1.2 IP地址

常用命令:

        ipconfig:查看本机IP地址(127.0.0.1)

        ping IP:检查网络是否连通

1.3 InetAddress的使用 

通过返回值为InetAddress的静态方法得到该对象:

InetAddress inetAddress = InetAddress.getByName("DESKTOP-0FQ18CKX") // IP/主机名

String hostName = inetAddress.getHostName();    //得到此IP的主机名

String hostAddress = inetAddress.getHostAddress();    //得到IP地址

1.4 端口

设备上应用程序的唯一标识  (1024,65535]

1.5 协议

计算机网络中,连接和通信的规则被称为网络通信协议

UDP协议(不安全、效率高)

TCP协议(安全、不高效) 三次握手,四次挥手

1.6 UDP通信程序

        1.UDP发送数据

           步骤:          ①创建发送端Socket对象(DatagramSocket)

                                ②创建数据,并把数据打包

                                ③调用Socket对象的方法发送数据

                                ④关闭发送端

       

//创建发送端的Socket对象(DatagramSocket)
DatagramSocket datagramSocket = new DatagramSocket();

//创建数据,并把数据打包
byte[] bytes ="数据".getBytes();
int dataLength =bytes.length;
InetAddress inetAddress =InetAddress.getByName("192.168.20.100");
int port =1800;
DatagramPacket datagramPacket =new DatagramPacket(bytes,datalength,inetAddress,port);

//发送数据(调用datagramSocket对象的方法)
datagramSocket.send(datagramPacket);

//关闭发送端
datagramSocket.close();

         

          2.UDP接收数据

             步骤:        ①创建接收端的Socket对象(DatagramSocket)

                                ②创建一个数据包,用来接收数据

                                ③调用Socket对象的方法接收数据

                                ④解析数据包,并把数据在控制台显示

                                ⑤关闭接收端

//创建接收端Socket对象(DatagramSocket)
DatagramSocket datagramSocket =new DatagramSocket(1800);

//创建一个数据包,用来接收数据
byte[] bytes =new byte[1024];
int length =bytes.length;
DatagramPacket datagramPacket =new DatagramPacket(bytes,length);

//调用Socket对象(DatagramSocket)的方法接收数据
datagramSocket.receive(datagramPacket);

//解析数据包,并把数据在控制台显示
byte[] datas =datagramPacket.getData();
int len =datagramPacket.getLength();
System.out.println(new String(datas,0,len));

//关闭接收端
datagramSocket.close();

1.7 TCP通信程序

Java为客户端提供Socket类,为服务器端提供ServerSocket类

        1.TCP发送数据

            步骤:      ①创建客户端的Socket对象(Socket)

                             ②获取输出流,写数据

                             ③释放资源

//创建客户端的Socket对象(Socket)
//Socket socket =new Socket(InetAddress.getByName("192.168.21.1"),10001);
Socket socket =new Socket("192.168.21.1",10001);

//获取输出流,写数据
OutputStream outputStream =socket.getOutputStream();
outputStream.write("数据".getBytes());

//释放资源
socket.close();

        2. TCP接收数据

            步骤:        ①创建服务器端的Socket对象(ServerSocket)

                               ②获取输入流,读数据,并把数据显示在控制台

                               ③释放资源

//创建服务器端的Socket对象(ServerSocket)
ServerSocket serverSocket =new ServerSocket(10001);

//获取输入流,读数据,并把数据显示在控制台
Socket socket =serverSocket.accept();      //监听并接受客户端的连接,返回Socket对象
InputStream inputStream =socket.getInputStream();
byte[] bytes =new bytes[1024];
int len =inputStream.read(bytes);
String datas =new String(bytes,0,len);

//释放资源
socket.close();
serverSocket.close();

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值