zoukankan      html  css  js  c++  java
  • java socket编程

    今天测试java socket编程。下面是代码:

    package server;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.Socket;
    
    public class TalkClient {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            try{
                //向本机的4700接口发送请求
                Socket socket = new Socket("127.0.0.1",4700);
                //由系统标准输入设备构造BufferedReader对象
                BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
                //由Socket对象得到输出流,并构造PrintWriter对象
                PrintWriter os = new PrintWriter(socket.getOutputStream());
                //由socket对象得到输入流,并构造响应的BufferedReader对象
                BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                
                String readline;
                
                readline = sin.readLine();//从系统标准输入读入一个字符串
                while(!readline.equals("bye")){
                    os.println(readline);
                    os.flush();
                    System.out.println("Client:"+readline);
                    System.out.println("Server:"+is.readLine());
                    readline = sin.readLine();
                }
                os.close();
                is.close();
                socket.close();
                
                
            }catch (Exception e) {
                System.out.println("Error"+e);
            }
    
        }
    
    }

    下面是服务端:

    package server;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class TalkServer {
        
        public static void main(String[] args) {
            try{
                ServerSocket server = null;
                try{
                    server = new ServerSocket(4700);
                    
                }catch(Exception e){
                    System.out.println("can not listen to:"+e);
                }
                Socket socket = null;
                try{
                    socket = server.accept();
                }catch(Exception e){
                    System.out.println("Error."+e);
                }
                
                String line;
                BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                PrintWriter os = new PrintWriter(socket.getOutputStream());
                BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
                System.out.println("Client:"+is.readLine());
                line = sin.readLine();
                while(!line.equals("bye")){
                    os.println(line);
                    os.flush();
                    System.out.println("Server:"+line);
                    System.out.println("Client:"+is.readLine());
                    line = sin.readLine();
                }
                os.close();
                is.close();
                socket.close();
                
            }catch(Exception e){
                System.out.println("Error."+e);
            }
        }
    
    }

    具体socket在java里面的解析还需要看看源代码。

  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/LoganChen/p/8342470.html
Copyright © 2011-2022 走看看