UDP也需要现有Server端,然后再有Client端

UDP编程:

DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。

DatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中。

UDP也需要现有Server端,然后再有Client端。

两端都是DatagramPacket(相当于电话的概念),需要NEW两个DatagramPacket。

InetAddress:网址

这种信息传输方式相当于传真,信息打包,在接受端准备纸。

模式:

发送端:Server:

DatagramPacket inDataPacket=new DatagramPacket ((msg,msg.length); InetAdress.getByName(ip),port);

接收端:

clientAddress=inDataPack.getAddress();//取得地址

clientPort=inDataPack.getPort();//取得端口号

datagramSocket.send; //Server

datagramSocket.accept; //Client

 

 

 1 package TomTexts;
 2 import java.io.*;
 3 
 4 public class TomTexts_31 {
 5     public static void main(String []args){
 6         byte b[]=new byte[10];
 7         String str;
 8         int n=0;
 9         double sum=0,d,avg;
10         System.out.print("要对几个数求平均?");
11         try{    System.in.read(b);
12             str=new String(b).trim();        //去除多余的/r、/n、空格符
13             n=Integer.parseInt(str);
14         }
15 catch(IOException e){
16             System.out.println(e.toString());
17         }
18 catch(NumberFormatException e){
19             System.out.println("请不要输入0-9以外的其他字符!");
20             System.exit(-1); //程序异常结束
21         }
22         for(int i=1;i<=n;i++){
23             System.out.print(i+": ");
24             try{    System.in.read(b);
25                 str=new String(b);
26                 Double x=new Double(str);
27                 d=x.doubleValue();
28                 sum+=d;
29             }
30 catch(IOException e){
31                    System.out.println(e.toString());
32             }
33 catch(NumberFormatException e){
34                 i--;        //重新输入
35                 System.out.println("请正确输入实数!");
36             }
37         }
38         System.out.println("平均值="+sum/n);
39     }
40 }

 

转载于:https://www.cnblogs.com/borter/p/9425018.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值