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 }
功不成,身已退
原文地址:https://www.cnblogs.com/dongsheng/p/2993151.html