Socket

发布时间 2023-05-29 10:35:19作者: lwx_R

1.IP操作

public class Web1 {
    public static void main(String[] args) throws IOException {
        try {
            //查询ip
            InetAddress ia=InetAddress.getByName("www.baidu.com");
            System.out.println(ia);
            //本机地址
            InetAddress ia1=InetAddress.getLocalHost();
            System.out.println(ia1);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }

        Process p=Runtime.getRuntime().exec("ping "+"127.0.0.1");
        BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line = null;
        StringBuilder sb = new StringBuilder();
        while ((line = br.readLine()) != null) {
            if (line.length() != 0)
                sb.append(line + "\r\n");
        }
        System.out.println("本次指令返回的消息是:");
        System.out.println(sb.toString());
    }
}

2.Socket发消息

  • Client
public class Client {
    public static void main(String[] args) {
        Socket s = null;
        OutputStream os;
        DataOutputStream dos;
        try {
            //连接端口
            s = new Socket("127.0.0.1", 8888);
            System.out.println(s);
            //打开输出流
             os = s.getOutputStream();
             dos = new DataOutputStream(os);

            while(true) {
                Scanner sc = new Scanner(System.in);
                String str = sc.next();
                //发送数据到服务器、
                dos.writeUTF(str);
            }
        } catch (IOException e) {
                e.printStackTrace();
        }
    }
}
  • Server
public class Server {
    public static void main(String[] args) {
            //服务器
            ServerSocket ss;
            InputStream is;
            DataInputStream dis;
            try {
                    //打开端口8888
                    ss = new ServerSocket(8888);
                    Socket s = ss.accept();

                    //打开输入流
                    is= s.getInputStream();
                    dis= new DataInputStream(is);

                    while(true){
                    //读取客户端发送的数据
                    String msg = dis.readUTF();
                    // int msg=is.read();
                    System.out.println(msg);
                    }


            } catch (IOException e) {
                e.printStackTrace();
            }

    }
}