首页 > 技术文章 > socket编程

xiaxinggege 2016-07-27 13:46 原文

 1 package MIME;
 2 import java.io.*;
 3 
 4 import java.net.*;
 5 
 6 public class TalkClient {
 7     public static void main(String args[]) throws Exception {  
 8           Socket client = new Socket("127.0.0.1", 9093);
 9           client.setSoTimeout(3000);
10           Writer writer = new OutputStreamWriter(client.getOutputStream());  
11           writer.write("Hello aaa.");  
12           InputStream inputStream = client.getInputStream();
13 //          BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
14 //          StringBuffer sb = new StringBuffer();
15 //          while(true){
16 //              sb.append(bufferedReader.readLine());
17 //              System.out.println(sb.toString());
18 //              if(-1==sb.indexOf("end")){
19 //                  break;
20 //              }
21 //          } 
22 //          System.out.println(sb.toString());
23           writer.flush();
24           writer.close();
25        }  
26 }
 1 package MINE;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.io.InputStreamReader;
 7 import java.io.OutputStreamWriter;
 8 import java.io.Writer;
 9 import java.net.ServerSocket;
10 import java.net.Socket;
11 
12 public class TalkServer {
13 
14     public static void main(String args[]) throws IOException {  
15           ServerSocket server = new ServerSocket(9093);
16           System.out.println("服务器监听启动!");
17           while (true) {  
18              Socket socket = server.accept();  
19              new Thread(new Handler(socket)).start();  
20           }  
21        }  
22     
23     static class Handler implements Runnable{
24         private Socket socket;
25         public Handler(Socket socket) {
26             this.socket = socket;
27         }
28         public void run() {
29             try {
30                 dobiz();
31             } catch (IOException e) {
32                 e.printStackTrace();
33             }
34         }
35         
36         private void dobiz() throws IOException {
37              InputStream inputStream = socket.getInputStream();
38              InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
39              BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
40               StringBuilder sb = new StringBuilder();
41               while (true) {
42                  String line = bufferedReader.readLine();
43                  if(line==null){
44                      break;
45                  }
46                  if(-1 != line.indexOf("end")){
47                      break;
48                  }
49                  sb.append(line);
50               }  
51               System.out.println("from client: " + sb);  
52               Writer writer = new OutputStreamWriter(socket.getOutputStream());  
53               writer.write("Hello client.");
54               writer.write("end\n");
55               writer.flush();
56               writer.close(); 
57               socket.close(); 
58         }
59         
60         
61     }
62 
63 }

 

推荐阅读