zoukankan      html  css  js  c++  java
  • 网络编程——基本概念

    一、概念
    Ip:区分每一台计算机
    端口:区分每一个软件
    URL:区分软件上的不同资源
    协议:就是交流的方式
    TCP协议:面向连接,更安全,较低效(常应用于电话聊天等)
    UDP协议:非面向连接,不安全,较高效(常应用于QQ聊天,邮箱等)
    二、网络分层

    OSI        TCP/IP协议集
    应用层
    表示层         ——应用层
    会话层

    传输层         —— 传输层

    网络层         ——网络层

    数据链路层     ——网络接口
    物理层

    注意:OSI网络通信协议模型知识一个参考模型,而TCP/IP协议是事实上的标准

    三、IP
    IP:定位一个节点:计算机、路由、通讯设备等
    * InetAddress:多个静态方法
    * 1、getLocalHost:本机
    * 2、getByName:根据域名DNS 或IP地址-->IP
    *
    * 两个成员方法:
    * 1、getHostAddress:返回地址
    * 2、getHostName:返回计算机名

    public class IPTest {
           public static void main(String[] args) throws UnknownHostException {
            //使用getLocalHost方法创建InetAddress对象 本机
            InetAddress addr=InetAddress.getLocalHost();
            System.out.println(addr.getHostAddress());//返回IP
            System.out.println(addr.getHostName());//输出计算机名
        }
    }

    四、端口

    端口
    * 1、区分软件
    * 2、2个字节0-65535 UDP TCP
    * 3、同一个协议端口不能冲突
    * 4、定义端口越大越好
    * InetSocketAddress
    * 1、构造器
    * new InetSocketAddress(地址|域名, 端口);
    * 2、方法
    * getAddress()
    * getHostName()
    * getPort()

    public class PortTest {
        public static void main(String[] args) {
            //包含端口
            InetSocketAddress socketAddress =new InetSocketAddress("127.0.0.23", 8080);
            InetSocketAddress socketAddress2 =new InetSocketAddress("localhost", 9000);
            System.out.println(socketAddress.getHostName());
            System.out.println(socketAddress.getAddress());
            System.out.println(socketAddress.getPort());
            System.out.println(socketAddress2.getHostName());
            System.out.println(socketAddress2.getAddress());
            System.out.println(socketAddress2.getPort());
        }
    }    

    五:URL

    URL:统一资源定位器,互联网三大基石之一(html,http),区分资源
    * 1、协议
    * 2、域名、计算机
    * 3、端口:默认80
    * 4、请求资源
    * http://www.baidu.com:80/index.html?uname=shsxt&age=18#a

    public class URLTest01 {
        public static void main(String[] args) throws MalformedURLException {
            URL url=new URL("http://www.baidu.com:80/index.html?uname=shsxt&age=18#a");
            System.out.println("协议:"+url.getProtocol());
            System.out.println("域名或ip:"+url.getHost());
            System.out.println("端口:"+url.getPort());
            System.out.println("请求资源:"+url.getFile());
            System.out.println("请求资源:"+url.getPath());
            
            //参数
            System.out.println("参数:"+url.getQuery());
            //锚点
            System.out.println("锚点:"+url.getRef());
        }
    }
  • 相关阅读:
    关于游戏分布式或者多服管理的想法
    surfaceView
    ackerman递归
    netbeans环境的建立
    copy-浅及深的复制操作
    使用VMware安装CentOS6.8详细教程
    Python在线资源优先级排序
    Python导入模块,Python import用法
    编码
    Python清屏命令
  • 原文地址:https://www.cnblogs.com/Leia2/p/12962032.html
Copyright © 2011-2022 走看看