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

 package TomTexts;
import java.io.*; public class TomTexts_31 {
public static void main(String []args){
byte b[]=new byte[10];
String str;
int n=0;
double sum=0,d,avg;
System.out.print("要对几个数求平均?");
try{ System.in.read(b);
str=new String(b).trim(); //去除多余的/r、/n、空格符
n=Integer.parseInt(str);
}
catch(IOException e){
System.out.println(e.toString());
}
catch(NumberFormatException e){
System.out.println("请不要输入0-9以外的其他字符!");
System.exit(-1); //程序异常结束
}
for(int i=1;i<=n;i++){
System.out.print(i+": ");
try{ System.in.read(b);
str=new String(b);
Double x=new Double(str);
d=x.doubleValue();
sum+=d;
}
catch(IOException e){
System.out.println(e.toString());
}
catch(NumberFormatException e){
i--; //重新输入
System.out.println("请正确输入实数!");
}
}
System.out.println("平均值="+sum/n);
}
}

UDP也需要现有Server端,然后再有Client端的更多相关文章

  1. server端获得到client端的IP地址的格式

    使用telnet,ping或其他client连接server端时,server端获得的client端的ip地址取决于client端使用的时ipv4还是ipv6地址. 例: client IPv4地址: ...

  2. 搜集的一些RTMP项目,有Server端也有Client端

    查询一些RTMP的协议封装时找到了一些RTMP开源项目,在这里列举一下,以后有时间或是有兴趣可以参考一下: just very few of them. Red5 only contains a se ...

  3. 基于Netty和SpringBoot实现一个轻量级RPC框架-Client端请求响应同步化处理

    前提 前置文章: <基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇> <基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇> & ...

  4. 基于C#的UDP通信(使用UdpClient实现,包含发送端和接收端)

    UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎.在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重.但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小, ...

  5. 在socket的server端处理client端发来的数据

    一.楔子 最近做了一个需求遇到一个坑,归结成一个小问题,其实就是在socket的server端处理client端发来的数据的问题,现将这个问题总结一下,本文将数据在server端以字典的形式存储. 另 ...

  6. Atitit Server Side Include  ssi服务端包含规范 csi  esi

    Atitit Server Side Include  ssi服务端包含规范 csi  esi 一.CSI (Client Side Includes)  1 1.1. 客户端包含1 1.2. Ang ...

  7. 从零开始学习Node.js例子四 多页面实现数学运算 续二(client端和server端)

    1.server端 支持数学运算的服务器,服务器的返回结果用json对象表示. math-server.js //通过监听3000端口使其作为Math Wizard的后台程序 var math = r ...

  8. 登录界面 Android简单http get请求(含server端)五 iOS端(特别篇)

    </pre><pre name="code" class="objc">NSDictionary *dict=@{@"user ...

  9. 用同一台PC的两个网口实现Iperf的server端和client端

    用同一台PC的两个网口实现Iperf的server端和client端 2015年10月20日 20:35:11 阅读数:2943 有时候需要发包,仅仅需要一定速率的流量,并不需要关心收到报文的大小,一 ...

随机推荐

  1. 重置 radio 和 checkbox 的样式

    代码: <!doctype html> <html> <head> <meta charset="utf-8"> <title ...

  2. 错误:因为相同类型的其他实体已具有相同的主键值。在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 解决方法

    在更新一个实体类的时候可能会有预先有一次查询或者其它操作,我们这样用目的是为了与提交的数据做一个比较之类的东西,如果先查询再对此类进行SaveChanges就会出错. 我们只要用AsNoTrackin ...

  3. java反射-获取方法信息

    例子代码如下: package com.reflect; import java.lang.reflect.Method; public class ClassUtill { /* * 打印类的信息, ...

  4. CentOS 开机启动

    # vim /etc/rc.local 加入你想在开机后执行的脚本 source /etc/profile /usr/local/xx.sh 写第一句是想保证在执行脚本前系统环境变量有效,第二句才是真 ...

  5. 控制器中添加DB类才可以操作数据库表中的数据

    必须使用DB:  use DB;

  6. [Python]网络爬虫(四):Opener与Handler的介绍和实例应用(转)

    在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info() ...

  7. Linux命令-目录处理命令:pwd

    pwd 显示当前目录的绝对路径

  8. MVC之Ajax.BeginForm使用详解之更新列表 mvc验证jquery.unobtrusive-ajax

    MVC之Ajax.BeginForm使用详解之更新列表   1.首先,请在配置文件设置如下:(该项默认都存在且为true) <add key="UnobtrusiveJavaScrip ...

  9. PostgreSQL在线安装

    背景:CentOS 7 一.在线yum安装 yum -y install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7 ...

  10. s:if 标签用法总结和举例

    http://www.360doc.com/content/11/1108/18/6161903_162838014.shtml