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

    TCP/IP:网络通信协议,由网络层的IP协议和传输层的TCP协议组成。

    IP地址:用于标识每台计算机。

    PORT端口号:对应计算机上的应用

    C/S结构(客户端/服务器)     如:QQ

    B/S结构(浏览器/服务器)      如:百度、火狐

    TCP:传输控制协议,采用三方握手的方式。保证准确的连接操作。

    UDP:数据报协议,发送数据。   例如:手机短信和 QQ消息。不安全,不可靠的,只负责把数据发出,不关注对方是否能收到。

    ServerSocket:此类实现服务器套接字。

    Socket:此类实现客户端套接字。

    Socket是网络驱动层提供给应用程序的接口和一种机制

    具体实现的Demo:

    public class ServerSocket {
        public static void main(String [] args){
            try {
                //创建服务器端的socket
                ServerSocket serverSocket = new ServerSocket(6666);
                //等待客户端连接
                Socket s = serverSocket.accept();
                System.out.println("客户端连接成功!");
                BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                //通过输入流读取网络数据,如果没有消息阻塞
                String info =  br.readLine();
                System.out.println(info);
                //获取输出流,向客户端返回信息
                PrintStream ps = new PrintStream(new BufferedOutputStream(s.getOutputStream()));
                ps.println("服务器响应的消息!");
                ps.flush();
                //关闭
                br.close();
                ps.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    public class ClientSocket {
        public static void main(String [] args){
            try {
                Socket socket = new Socket("127.0.0.1",6666);
                PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
                BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    
                ps.println("客户端发送的消息!");
                ps.flush();
                //读取服务器返回的数据
                String info = br.readLine();
                System.out.println(info);
                ps.close();
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    redis主从模式
    深入理解BigDecimal
    double使用BigDecimal进行计算出现精确度问题
    代理IP爬取和验证(快代理&西刺代理)
    Jsoup-简单爬取知乎推荐页面(附:get_agent())
    Jsoup-基础练习
    取数据超过内存限制的问题-解决方案(sample,takeSample,filter)
    说出你的故事:你为什么学爬虫
    hadoop第一次面到hr(品友互动)
    MapReduce本地运行模式wordcount实例(附:MapReduce原理简析)
  • 原文地址:https://www.cnblogs.com/wenbiquan/p/11091028.html
Copyright © 2011-2022 走看看