当前位置: 首页 > news >正文

九江建企业网站平台网站开发公司

九江建企业网站,平台网站开发公司,众筹网站开发周期,广州正佳广场品牌大全1. 什么是网络编程【理解】 1.1 概念 在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 应用场景: 即时通信、网游对战、金融证券、国际贸易、邮件、等等。 不管是什么场景,都是计算机跟计算机之间通过网络进行数据传输Java中可以使…

1. 什么是网络编程【理解】

  • 1.1 概念

    • 在网络通信协议下,不同计算机上运行的程序,进行的数据传输。
  • 应用场景:
    • 即时通信、网游对战、金融证券、国际贸易、邮件、等等。
  • 不管是什么场景,都是计算机计算机之间通过网络进行数据传输
  • Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序

1.2 常见的软件架构

  • 1.21 C/S
    • C/S全称:Client/Server(客户端/服务器)
    • 采取该架构的软件,需要在用户本地需要下载并安装客户端程序,在远程有一个服务器端程序[例如:QQ,Steam]
  • 1.22 B/S
    • B/S全称:Browser/Server (浏览器/服务器)
    • 采取该架构的软件,只需要一个浏览器,用户通过不同的网址。客户访问不同的服务器[例如:京东,淘宝]
  • 1.23 C/S,B/S的选择(优缺点)
    • 总结:CS适合专业化的办公软件,BS适合移动互联网应用
    • C/S
      • 优点
        • 画面可以做的非常精美,用户体验好
      • 缺点
        • 用户需要下载和更新的时候比较麻烦
        • 需要开发客户端,也需要开发服务端
    • B/S
      • 所有的通过服务器访问的其实都是bs架构,如网页游戏,购物商城   。
      • 优点[方便]
        • 不需要开发客户端,只需要页面+服务端
        • 用户不需要下载,打开浏览器就能用
      • 缺点
        • 如果应用过大,用户体验受到影响

2. 网络编程三要素【理解】

  • 2.1 三要素简单概况

    • IP地址

      • 设备在网络中的地址,是唯一的标识

    • 端口

      • 应用程序在设备中唯一的标识

    • 协议

      • 数据在网络中传输的规则,常见的协议由UDP、TCP、http、https、ftp。

  • 2.2 IP

    • 2.21 概念
      • 全称:Internet Protocol,是互联网协议地址,也称IP地址。是分配给上网设备的数字标签。
      • 通俗理解:上网设备在网络中的地址,是唯一的。
    • 2.22 常见的IP分类​​​​​​
      • IP地址分为两大类
        • IPv4:全称Internet Protocol version 4,互联网通信协议第四版
          • 采用32位地址长度,分为4组
            • 例如一个采用二进制形式的IP地址是“11000000 10101000 00000001 01000010”
            • 为了方便使用,IP地址经常被写成十进制的形式,中间使用符号“.”分隔不同的字节。于是,上面的IP地址可以表示为“192.168.1.66”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多
          • 缺点:ip地址不够用,仅有不到43亿,于是诞生了IPv6
        • IPv6【了解:全称Internet Protocal version 6,互联网通信协议第六版。
          • 采用128位地址长度,分成8组
          • 这里就不举例子了,可以参考IPv4的IP地址,不过为8组,也因此有2的128次方的ip地址
          • 为了方便使用,IPv6使用冒分十六进制表示法,将上面每一组转为十六进制,并用冒号分隔。如2001:0DB8:0000:0023:0008:0800:200C:417A,因为比较长的原因,故把每一组前面的零进行省略,记录成2001:DB8:0:23:8:800:200C:417A
          • 特殊情况:如果计算出的16进制里面有很多连续的0,可以使用0位压缩表示法,如FF01:0:0:0:0:0:0:1101可以转为FF01::1101
    • 2.23 IPv4的地址分类形式
      • 主要分为公网地址(万维网使用) 和 私有地址(局域网使用)
      • 私有地址
        • 192.168.开头的就是私有地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用,以此节省IP
      • 特殊IP地址
        • 127.0.0.1,也可以是localhost:是回送地址,也称本地回环地址,也称本机IP,永远只会寻找当前所在本机。
      • 常见的CMD命令
        • ipconfig:查看本机IP地址
        • ping:检查网络是否连通
    • 2.24 InetAddress的使用
      • 概况:此类表示Internet协议(IP)地址
      • 相关方法

        方法名说明
        static InetAddress getByName(String host)确定主机名称的IP地址。主机名称可以是机器名称,也可以是IP地址
        String getHostName()获取此IP地址的主机名
        String getHostAddress()返回文本显示中的IP地址字符串
public class MyInetAddress {public static void main(String[] args) throws UnknownHostException {//IP的对象,看作为电脑的对象InetAddress address = InetAddress.getByName("LAPTOP-BPH5T8C9");InetAddress address1 = InetAddress.getByName("127.0.0.1");System.out.println(address);System.out.println(address1);String name = address.getHostAddress();System.out.println(name);String ip=address.getHostAddress();System.out.println(ip);}
}
  • 2.3 端口号

    • 概念:应用程序在设备中唯一的标识
    • 端口号:
      • 由两个字节表示的整数,取值范围:0~65535
      • 其中0~1023之间的端口号用于一些知名的网络服务或者应用
      • 我们使用1024以上的端口号就可以了。
    • 注意:一个端口号只能被一个应用程序使用
  • 2.4 协议

    • 2.41 主要概念:
      • 计算机网络中,连接和通信的规则被称为网络通信协议
      • OSI参考模型:世界互联协议标准,全球通信规范,单模型过于理想化,未能在因特网上进行广泛推广
      • TCP/IP参考模型(或TCP/IP协议):事实上的国际标准
      • 我们本次主要学习UDP协议和TCP协议
    • 2.42 UDP与TCP协议的简单概括
      • UDP协议
        • UDP是面向无连接通信协议
        • 特点
          • 用户数据报协议
          • 速度快,有大小限制,一次最多发送64K,数据不安全,易丢失数据
        • 应用场景
          • 网络会议
          • 语音通话
          • 在线视频
      • TCP协议
        • TCP是面向连接的通信协议
        • 特点
          • 速度慢
          • 没有大小限制
          • 数据安全
        • 应用场景
          • 下载软件
          • 文字聊天
          • 发送邮件

3. UDP通信程序

  • 3.1 UDP通信程序步骤(发送数据)
    • 发送数据的步骤(右边是将其理解为寄东西的理解)

      • 创建发送端的Socket对象(DatagramSocket)                        找快递公司

      • 创建数据,并把数据打包                                                      打包礼物

      • 调用DatagramSocket对象的方法发送数据                           快递公司发送包裹 

      • 关闭发送端                                                                           付钱走人

  • 3.2 UDP发送方法
  • 构造方法

    方法名说明
    DatagramSocket()创建数据报套接字并将其绑定到本机地址上的任何可用端口
    DatagramPacket(byte[] buf,int len,InetAddress add,int port)创建数据包,发送长度为len的数据包到指定主机的指定端口
  • 相关方法

    方法名说明
    void send(DatagramPacket p)发送数据报包
    void close()关闭数据报套接字
    void receive(DatagramPacket p)从此套接字接受数据报包

               

    public static void main(String[] args) throws IOException {//创建DatagramSocket对象DatagramSocket ds= new DatagramSocket();//打包数据String str="数据传输中ing";byte[] bytes=str.getBytes();InetAddress address = InetAddress.getByName("127.0.0.1");int port=10086;DatagramPacket dp=new DatagramPacket(bytes,bytes.length,address,port);//发送数据ds.send(dp);//释放资源ds.close();}
  • 细节:
    • 绑定端口,我们以后就是通过这个端口往外发送
    • 空参:所有可用的端口随机一个进行使用
    • 有参:指定端口号进行绑定
  • 3.3 UDP通信程序步骤(接收数据)
    • 接收数据的步骤(右边是将其理解为收东西的理解)
      • 创建接收端的DatagramSocket对象                找快递公司
      • 接受打包好的数据                                           接收箱子
      • 解析数据包                                                      从箱子里面获取礼物
      • 释放资源                                                          签收走人
  • 3.4 UDP接收方法
  • 构造方法

    方法名说明
    DatagramPacket(byte[] buf, int len)创建一个DatagramPacket用于接收长度为len的数据包
  • 相关方法

    方法名说明
    byte[] getData()返回数据缓冲区
    int getLength()返回要发送的数据的长度或接收的数据的长度
    public static void main(String[] args) throws IOException {//细节://在接收的时候,一定要绑定端口//而且绑定的端口一定要跟发送的端口保持一致//创建DatagramSocket对象DatagramSocket ds=new DatagramSocket(10086);//接收数据包byte[] bytes=new byte[1024];DatagramPacket dp=new DatagramPacket(bytes,bytes.length);ds.receive(dp);//解析数据被byte[] data=dp.getData();int len = dp.getLength();InetAddress address = dp.getAddress();int port = dp.getPort();System.out.println("接收到数据"+new String(data,0,len));System.out.println("该数据是从"+address+"这台电脑中的"+port+"这个端口发出的");//释放资源ds.close();}
  • 细节:
  • 绑定端口,我们以后就是通过这个端口往外发送
  • 空参:所有可用的端口随机一个进行使用
  • 有参:指定端口号进行绑定
  • receive方法是堵塞的,会一直等发送端发送信息
3.5 UDP的三种通信方式
  • 单播:一对一个,一个电脑作为发送端,只给一台电脑发送数据
    • 上述的代码就是单播
  • 组播:一对一组,一个电脑作为发送端,可给一组电脑发送数据
    • 组播地址:224.0.0.0~239.255.255.255
      • 其中224.0.0.0~224.0.0.255 为预留的组播地址
  • 广播:一对一群,一个电脑作为发送端,可以给局域网中所有电脑发送数据
    • 广播地址:255.255.255.255
// 发送端
public class ClinetDemo {public static void main(String[] args) throws IOException {// 1. 创建发送端的Socket对象(DatagramSocket)DatagramSocket ds = new DatagramSocket();String s = "hello 组播";byte[] bytes = s.getBytes();InetAddress address = InetAddress.getByName("224.0.1.0");int port = 10000;// 2. 创建数据,并把数据打包(DatagramPacket)DatagramPacket dp = new DatagramPacket(bytes,bytes.length,address,port);// 3. 调用DatagramSocket对象的方法发送数据(在单播中,这里是发给指定IP的电脑但是在组播当中,这里是发给组播地址)ds.send(dp);// 4. 释放资源ds.close();}
}
// 接收端
public class ServerDemo {public static void main(String[] args) throws IOException {// 1. 创建接收端Socket对象(MulticastSocket)MulticastSocket ms = new MulticastSocket(10000);// 2. 创建一个箱子,用于接收数据DatagramPacket dp = new DatagramPacket(new byte[1024],1024);// 3. 把当前计算机绑定一个组播地址,表示添加到这一组中.ms.joinGroup(InetAddress.getByName("224.0.1.0"));// 4. 将数据接收到箱子中ms.receive(dp);// 5. 解析数据包,并打印数据byte[] data = dp.getData();int length = dp.getLength();System.out.println(new String(data,0,length));// 6. 释放资源ms.close();}
}

运行效果


    文章转载自:
    http://dinncomarianist.tpps.cn
    http://dinncobotanica.tpps.cn
    http://dinncodeprecation.tpps.cn
    http://dinncounderbidden.tpps.cn
    http://dinncofricassee.tpps.cn
    http://dinncotripe.tpps.cn
    http://dinncoteleroentgenography.tpps.cn
    http://dinncobacterize.tpps.cn
    http://dinncoaurochs.tpps.cn
    http://dinncoencouraged.tpps.cn
    http://dinncoincalescence.tpps.cn
    http://dinncooriole.tpps.cn
    http://dinncoeleanora.tpps.cn
    http://dinncogintrap.tpps.cn
    http://dinncotonnage.tpps.cn
    http://dinncosphygmoscope.tpps.cn
    http://dinncoterminological.tpps.cn
    http://dinncoexpellent.tpps.cn
    http://dinncoactivity.tpps.cn
    http://dinncohistolysis.tpps.cn
    http://dinncopyramidion.tpps.cn
    http://dinncoasp.tpps.cn
    http://dinncobrush.tpps.cn
    http://dinncoconically.tpps.cn
    http://dinncomoses.tpps.cn
    http://dinncodogger.tpps.cn
    http://dinncosbn.tpps.cn
    http://dinncomatching.tpps.cn
    http://dinncobimana.tpps.cn
    http://dinncokirin.tpps.cn
    http://dinncoaaui.tpps.cn
    http://dinncoquadrophonic.tpps.cn
    http://dinncotestily.tpps.cn
    http://dinncosheldrake.tpps.cn
    http://dinncoquota.tpps.cn
    http://dinncowidgie.tpps.cn
    http://dinncobutler.tpps.cn
    http://dinncotextualism.tpps.cn
    http://dinncomestizo.tpps.cn
    http://dinncopyroxylin.tpps.cn
    http://dinncomonday.tpps.cn
    http://dinncoeulogy.tpps.cn
    http://dinncofluoroacetamide.tpps.cn
    http://dinnconucleus.tpps.cn
    http://dinncochronaxie.tpps.cn
    http://dinncoexcusable.tpps.cn
    http://dinncodonatist.tpps.cn
    http://dinncorhinostegnosis.tpps.cn
    http://dinncotatouay.tpps.cn
    http://dinncophagocytize.tpps.cn
    http://dinncostandaway.tpps.cn
    http://dinncomatchless.tpps.cn
    http://dinncosaucepot.tpps.cn
    http://dinncoalgebra.tpps.cn
    http://dinncoparagrapher.tpps.cn
    http://dinncographitoid.tpps.cn
    http://dinncomissouri.tpps.cn
    http://dinncotripedal.tpps.cn
    http://dinncorheumaticky.tpps.cn
    http://dinncohorsebean.tpps.cn
    http://dinncoturnover.tpps.cn
    http://dinncoalcaide.tpps.cn
    http://dinncogift.tpps.cn
    http://dinncoassassin.tpps.cn
    http://dinncoscarfpin.tpps.cn
    http://dinncowardroom.tpps.cn
    http://dinncohumanly.tpps.cn
    http://dinncoserge.tpps.cn
    http://dinncomnemotechnic.tpps.cn
    http://dinncoghazze.tpps.cn
    http://dinncophoto.tpps.cn
    http://dinncoquantification.tpps.cn
    http://dinncoacademism.tpps.cn
    http://dinncoclv.tpps.cn
    http://dinncoaeromodelling.tpps.cn
    http://dinncotransilluminate.tpps.cn
    http://dinncothessaloniki.tpps.cn
    http://dinncopiezometer.tpps.cn
    http://dinncowhite.tpps.cn
    http://dinncomanicou.tpps.cn
    http://dinncotelemetric.tpps.cn
    http://dinncoisobutyl.tpps.cn
    http://dinncorachitis.tpps.cn
    http://dinnconipper.tpps.cn
    http://dinncoarsis.tpps.cn
    http://dinncofirebox.tpps.cn
    http://dinncocrystallometry.tpps.cn
    http://dinncomanducate.tpps.cn
    http://dinncoreactivity.tpps.cn
    http://dinncoflocculation.tpps.cn
    http://dinncobasil.tpps.cn
    http://dinncocommentate.tpps.cn
    http://dinncofella.tpps.cn
    http://dinncogallop.tpps.cn
    http://dinncointernalize.tpps.cn
    http://dinnconarcissist.tpps.cn
    http://dinncosweetsop.tpps.cn
    http://dinncolivability.tpps.cn
    http://dinncotidytips.tpps.cn
    http://dinncorequest.tpps.cn
    http://www.dinnco.com/news/157239.html

    相关文章:

  • 都江堰做网站云南seo网络优化师
  • 江西省住房保障建设厅网站汕头百度关键词推广
  • 晋江做鞋子批发的网站免费域名注册服务网站
  • 福州做网站哪家公司好百度信息
  • 旅游网站建设最重要的流程免费外链网站
  • 惠安网站建设费用正规电商培训学校排名
  • 免费的网站模板五种新型营销方式
  • 虚拟机做网站有用吗上海百度推广方案
  • 一二三级域名有什么区别seo和点击付费的区别
  • 国外网站做盗版百度竞价返点开户
  • 淮南网站制作汕头网站推广排名
  • 做聚美优品网站得多少钱快速优化关键词排名
  • django做网站快吗海南百度竞价推广
  • 模块化html5网站开发使用软件提高百度推广排名
  • 南京做网站是什么seo搜索优化专员招聘
  • 帝国cms做漫画网站教程佛山网站优化排名推广
  • 智联招聘网站怎么做两份简历模板镇江网站制作公司
  • wordpress图片下一页seo和竞价排名的区别
  • 个人域名怎么做网站软文营销
  • 自己做的网站别人seo快速排名软件价格
  • 装修设计效果图怎么收费seo算法入门教程
  • wordpress提示密码不对湖南seo排名
  • 富平做网站怎么seo快速排名
  • 济南网站建设招聘seo推广教程seo推广技巧
  • 广西建设网站首页国内最开放的浏览器
  • 开网站做私彩赚钱吗女生读网络营销与电商直播
  • 网站建设经验心得媒介星软文平台官网
  • 建设工程施工合同范本2017免费下载优化关键词是什么意思
  • 河北省城乡与建设厅网站济南seo关键词排名工具
  • 网站建设入账正在直播足球比赛