zoukankan      html  css  js  c++  java
  • Socket通信实现步骤

    public class Server {
    
        public static void main(String[] args) {
            
            try {
                ServerSocket serverSocket = new ServerSocket(8888);
                System.out.println("服务器启动中....");
                //accept()是在一个套接口接受的一个连接。accept()是c语言中网络编程的重要的函数,
                //本函数从s的等待连接队列中抽取第一个连接,创建一个与s同类的新的套接口并返回句柄。
                Socket socket = serverSocket.accept();//获取Socket
                InputStream is = socket.getInputStream();//获取输入流
                InputStreamReader isr = new InputStreamReader(is);//InputStreamReader类是从字节流到字符流的桥接器
                BufferedReader br = new BufferedReader(isr);//缓冲流
                System.out.println("客户端数据" + br.readLine());
                String info = null;
                while((info = br.readLine()) != null){
                    System.out.println("客户端传递的信息" + info);
                }
                socket.shutdownInput();//shutdownInput和shutdownOutput只关闭相应的输入、输出流,不会同时关闭网络连接的功能。
                OutputStream os = socket.getOutputStream();
                PrintWriter pw = new PrintWriter(os);
                pw.write("欢迎您!!");
                pw.flush();//flush()是清空,而不是刷新    将缓冲区的内容输出
                
                pw.close();
                os.close();
                br.close();
                isr.close();
                is.close();
                socket.close();
                serverSocket.close();
            } catch (IOException e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
            
        }
        
    }
    public class Client {
        
        public static void main(String[] args) {
            try {
                Socket socket = new Socket("localhost", 8888);
                System.out.println("客户端启动中....");
                OutputStream os = socket.getOutputStream();
                PrintWriter pw = new PrintWriter(os);
                pw.write("admin");
                pw.flush();
                socket.shutdownOutput();
                
                InputStream is = socket.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String info = null;
                while((info = br.readLine()) != null){
                    System.out.println("服务端返回的信息" + info);
                }
                
                os.close();
                pw.close();
                is.close();
                br.close();
                socket.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }
  • 相关阅读:
    JavaScript验证长度
    createTextRange用法
    keyPress keyUp keyDown 联系与区别
    获取text、select、radio、checkbox的值
    深入浅出JavaScript (五) 详解Document.write()方法
    深入浅出JQuery (三) 图片预览效果
    BS部分整体学习
    深入浅出JQuery (二) 选择器
    深入浅出jQuery (五) 如何自定义UIDialog?
    深入浅出 JQuery (一) 浅析JQuery
  • 原文地址:https://www.cnblogs.com/ch94/p/10155590.html
Copyright © 2011-2022 走看看