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

    package com.fz.song;
    
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    /**
     * 学习Java网络知识
     */
    
    //这是一个服务端
    //
    public class Server {
    
    
        public static void main(String[] args) throws IOException {
            //获取一个服务ServerSocket对象
            //new 一个服务器端的ServerSocket
            ServerSocket serverSocket = new ServerSocket(8888);
            //调用accept来接受请求
            Socket socket = serverSocket.accept();
            //获取ip地址
            String hostAddress = socket.getInetAddress().getHostAddress();
            System.out.println(hostAddress + ":链接成功");
            //从Socket获取输入流
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            //BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);
            String line = "";
            while ((line = br.readLine()) != null) {
                System.out.println("line = " + line);
                if (line.equals("over")) {
                    break;
                } else {
    //                bw.write(line.toUpperCase());
    //                bw.newLine();
    //                bw.flush();
                    pw.println(line.toUpperCase());
                }
            }
            System.out.println(hostAddress + ":关闭链接");
            br.close();
            pw.close();
            //bw.close();
            socket.close();
        }
    }
    package com.fz.song;
    
    import java.io.*;
    import java.net.Socket;
    
    /**
     * 这是一个客户端
     */
    public class Client {
    
    
        public static void main(String[] args) throws IOException {
            //创建一个客户端的Socket
            Socket socket = new Socket("127.0.0.1", 8888);
            //获取键盘输入流
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            //BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            PrintWriter  pw=new PrintWriter(socket.getOutputStream(),true);
            BufferedReader br2=new BufferedReader(new InputStreamReader(socket.getInputStream()));
            while (true) {
                String line = br.readLine();
    //            bw.write(line);
    //            bw.newLine();
    //            bw.flush();
                pw.println(line);
                if (line.equals("over")) {
                    break;
                } else {
                    String str = br2.readLine();
                    System.out.println("返回值 = " + str);
                }
            }
            br.close();
            //bw.close();
            br2.close();
            socket.close();
    
        }
    
    }
  • 相关阅读:
    Scala伴生对象
    Python之随机森林实战
    DevOps 发展融合运维可视化
    为什么选用 React 创建混合型移动应用?
    查找并修复Android中的内存泄露—OutOfMemoryError
    精华阅读第 12 期 | 最新 App Store 审核指南与10大被拒理由?
    Python 应用剖析工具介绍
    的确,Java存在缺陷。但是……
    APM终端用户体验监控分析(下)
    ASP.NET MVC 应用提速的十种方法
  • 原文地址:https://www.cnblogs.com/songfahzun/p/8299143.html
Copyright © 2011-2022 走看看