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

    网络编程:

    功能:

      实现客户端和服务器之间的通信,客户端先发送消息,然后服务器接收后再发送一条消息,然后客户端接收再发一条,当客户端输入“Bye”时候结束通信

    Server.java如下所示:

     1 package bag1;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 import java.io.PrintWriter;
     7 import java.net.ServerSocket;
     8 import java.net.Socket;
     9 import java.util.Scanner;
    10 
    11 public class Server {
    12 
    13     public static void main(String[] args) throws IOException {
    14         Socket s = null;
    15         Scanner sc = new Scanner(System.in);
    16         ServerSocket ss = new ServerSocket(8080);
    17         String str = null;
    18         s = ss.accept();
    19         System.out.println("链接成功!!");
    20         BufferedReader is = new BufferedReader(new InputStreamReader(s.getInputStream()));
    21         PrintWriter os = new PrintWriter(s.getOutputStream(), true);
    22         
    23         while(true){    
    24             str = is.readLine();
    25             System.out.println("Client:" + str);
    26             if(str.equals("Bye")){
    27                 s.close();
    28                 break;
    29             }
    30             str = sc.nextLine();
    31             os.println(str);
    32         }
    33     }
    34 }

    Client.java如下所示:

     1 package bag1;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 import java.io.PrintWriter;
     7 import java.net.InetSocketAddress;
     8 import java.net.Socket;
     9 import java.net.SocketAddress;
    10 import java.util.Scanner;
    11 
    12 public class Client {
    13 
    14     public static void main(String[] args) throws IOException {
    15         Socket s = new Socket();
    16         Scanner sc = new Scanner(System.in);
    17         String str = null;
    18         s.bind(null);     // 随机指定端口
    19         SocketAddress ra = new InetSocketAddress("localhost", 8080);
    20         s.connect(ra, 60000);
    21         BufferedReader is = new BufferedReader(new InputStreamReader(s.getInputStream()));
    22         PrintWriter os = new PrintWriter(s.getOutputStream(),true);
    23         str = sc.nextLine();
    24         while(true){
    25             os.println(str);
    26             str = is.readLine();
    27             if(str.equals("Bye")){
    28                 s.close();
    29             }
    30             //System.out.println("读取服务器端成功!!");
    31             System.out.println("Server:" + str);
    32             str = sc.nextLine();
    33             
    34         }
    35     }
    36 
    37 }
    功不成,身已退
  • 相关阅读:
    es6-class
    getter与setter
    对象1-属性描述符
    set与map
    vuex状态管理
    VMware虚拟机三种网络模式的区别(上篇)
    VMware虚拟机三种网络模式的区别(上篇)
    如何让FPGA中的SPI与其他模块互动起来
    如何让FPGA中的SPI与其他模块互动起来
    FPGA的SPI从机模块实现
  • 原文地址:https://www.cnblogs.com/dongsheng/p/2993151.html
Copyright © 2011-2022 走看看