zoukankan      html  css  js  c++  java
  • 网络编程-小结

    1-----------------------------------------------------基本知识----------------------------------------------------------------

    网络编程的三要素
            A:IP地址
                a:点分十进制
                b:IP地址的组成
                c:IP地址的分类
                d:dos命令
                e:InetAddress
            B:端口
                是应用程序的标识。范围:0-65535。其中0-1024不建议使用。
            C:协议

              (1)TCP/IP(传输控制协议 Transmission Control Protocol),互联网传输协议。建立数据通道,无限制,效率低,可靠

              (2)UDP (用户数据报协议 User Datagram Protocol),数据打包,有限制,不连接,效率高,不可靠

              (3)HTTP 超文本传输协议  默认端口:80

              (4)HTTPS 安全超级文本传输协议  默认端口:443

              (5)FTP(File Transfer Protocol)文件传输协议

    2-----------------------------------------------------基本代码----------------------------------------------------------------

    1、TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输,效率会稍低。

    服务端

    public class ServerSoc {

        public static void main(String[] args) throws IOException {
            
            /**
             * 基于TCP协议的Socket通信,实现用户登录,服务端
            */
            
            //1、创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口
            ServerSocket serverSocket =new ServerSocket(11111);//1024-65535的某个端口 、
            //2、调用accept()方法开始监听,等待客户端的连接
            while(true){
            Socket socket = serverSocket.accept();
            //3、获取输入流,并读取客户端信息
            InputStream is = socket.getInputStream();
            InputStreamReader isr =new InputStreamReader(is);
            BufferedReader br =new BufferedReader(isr);
            String info =null;
            while((info=br.readLine())!=null){
            System.out.println("我是服务器,客户端说:"+info);
            }
            socket.shutdownInput();//关闭输入流
            //4、获取输出流,响应客户端的请求
            OutputStream os = socket.getOutputStream();
            PrintWriter pw = new PrintWriter(os);
            pw.write("欢迎您!");
            pw.flush();
            }
        }
    }

    客户端

    public class ClientSoc {

        public static void main(String[] args) {
            
            try {
                //客户端
                //1、创建客户端Socket,指定服务器地址和端口
                Socket socket =new Socket("127.0.0.1",11111);
                //2、获取输出流,向服务器端发送信息
                OutputStream os = socket.getOutputStream();//字节输出流
                PrintWriter pw =new PrintWriter(os);//将输出流包装成打印流
                pw.write("用户名:admin;密码:123");
                pw.flush();
                socket.shutdownOutput();
                //3、获取输入流,并读取服务器端的响应信息
                InputStream is = socket.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String info = null;
                while((info=br.readLine())!= null){
                 System.out.println("我是客户端,服务器说:"+info);
                }
                
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

  • 相关阅读:
    LightOJ1326 Race(DP)
    LightOJ1125 Divisible Group Sums(DP)
    HDU 5738 Eureka(极角排序)
    BZOJ 3223 Tyvj 1729 文艺平衡树(Splay)
    Codeforces 707D Persistent Bookcase(时间树)
    HDU 5809 Ants(KD树+并查集)
    HDU 5875 Function(ST表+二分)
    BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊(动态树)
    HDU 5737 Differencia(归并树)
    HDU 1512 Monkey King(左偏树+并查集)
  • 原文地址:https://www.cnblogs.com/taotingkai/p/6183971.html
Copyright © 2011-2022 走看看