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

     

     

     

     

     

     

     

     1 import java.io.*;
     2 import java.net.ServerSocket;
     3 import java.net.Socket;
     4 
     5 public class EchoServerDemo {
     6 
     7     public static void main(String[] args){
     8         //创建一个服务器端的socket(1024-65535)
     9         try {
    10             ServerSocket server = new ServerSocket(6666);
    11             System.out.println("服务器已经启动,正在等待客户端连接");
    12             //等待客户端的链接,造成阻塞,如果有客户端连接成功,立即返回一个socket对象
    13             Socket socket = server.accept();
    14             System.out.println("客户端连接成功" + server.getInetAddress().getHostAddress());
    15             BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    16             //通过输入流读取网络数据,如果没有数据,那么会阻塞
    17             String info = br.readLine();
    18             System.out.println(info);
    19             //获取输出流,向客户端返回消息
    20             PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
    21 
    22             ps.println("echo" + info);
    23             ps.flush();
    24             //关闭
    25             ps.close();
    26             br.close();
    27         } catch (IOException e) {
    28             e.printStackTrace();
    29         }
    30     }
    31 }
    EchoServerDemo.java
     1 import java.io.*;
     2 import java.net.Socket;
     3 
     4 public class EchoClientDemo {
     5     public static void main(String[] args) {
     6         //创建一个socket对象,指定要链接的服务器
     7         try {
     8             Socket socket = new Socket("localhost",6666);
     9             //获取socket的输入输出流
    10             PrintStream ps = new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
    11             BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    12 
    13             ps.println("hello,my name is Bin");
    14             ps.flush();
    15             //读取服务器端返回的数据
    16             String info = br.readLine();
    17             System.out.println(info);
    18             ps.close();
    19             br.close();
    20 
    21 
    22         } catch (IOException e) {
    23             e.printStackTrace();
    24         }
    25     }
    26 }
    EchoClientDemo.java

  • 相关阅读:
    《剑指Offer》题目:跳台阶
    《剑指Offer》题目:变态跳台阶
    《剑指Offer》题目:二叉树的镜像
    《剑指Offer》题目:树的子结构
    《剑指Offer》题目:合并两个排序的链表
    《剑指Offer》题目:链表中倒数第k个结点
    《剑指Offer》题目:调整数组顺序使奇数位于偶数前面
    Nginx配置http强制跳转到https
    并查集详解(转)
    AKOJ -- 1529 -- 寻找最大数
  • 原文地址:https://www.cnblogs.com/juham/p/15665455.html
Copyright © 2011-2022 走看看