zoukankan      html  css  js  c++  java
  • J2SE之网络编程

    一、网络基础

      网络通信协议:对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。

      网络通信接口:硬件装置:实现节点之间的信息传输。

             软件装置:规定双方进行通信的协议。

        软件开发成员应掌握右边四层模型。

    二、TCP/IP协议

      IP协议:最大贡献——提供了独一无二的IP地址。

        -|IPV4

          子网掩码

          网关

        -|IPV6

          

      TCP:一种面向连接的协议。可靠的、端到端的字节流通信的协议。字节流。

         即一定可以将数据传输到位。数据包按顺序到达,不会乱序。如电话。

         效率较UDP低

         

      UDP:一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接。

         只负责将数据发出,不管对方是否收到。如电报。

      TCP可靠,速度慢。

      UDP不可靠,速度快,效率高。

    三、SOCKET

      1、用来实现client-server连接

      2、java.net包中定义的两个类socket和serversocket分别用来实现双向连接的client和server端。

      3、建立连接时所需的寻址信息为远程计算机的IP地址和端口号(port)(开发时端口号用1024以后的)

        -|TCP端口与UDP端口不同

          每一个各有65536个端口

    import java.io.DataInputStream;
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    
    public class TCPServer {
        public static void main(String args[]) throws IOException{
            ServerSocket ss = new ServerSocket(6666);
            
            while(true){
            Socket s = ss.accept();    
            DataInputStream dis = new DataInputStream(s.getInputStream());
            
            System.out.println(dis.readUTF());
            
            dis.close();
            s.close();
            }
            
            
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    
    public class TCPClient {
        public static void main(String args[]) throws UnknownHostException, IOException{
            Socket s = new Socket("127.0.0.1",6666);
            
            OutputStream os = s.getOutputStream();
            DataOutputStream dos = new DataOutputStream(os);
            
            dos.writeUTF("hello gay!");
            dos.flush();
            dos.close();
            s.close();
            
        }
    }
  • 相关阅读:
    mysql 快速生成百万条测试数据
    DEV SIT UAT
    云计算的三层SPI模型
    go的下载
    redis主从 哨兵
    Mybatis 插入操作时获取主键 (Oracle 触发器与SEQ)
    oracle创建表空间
    mycat源码分析
    js判断是否是数字通用写法
    spring aop获取目标对象的方法对象(包括方法上的注解)
  • 原文地址:https://www.cnblogs.com/elleniou/p/2614228.html
Copyright © 2011-2022 走看看