zoukankan      html  css  js  c++  java
  • socket编程

     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
    ");
    55               writer.flush();
    56               writer.close(); 
    57               socket.close(); 
    58         }
    59         
    60         
    61     }
    62 
    63 }
  • 相关阅读:
    [UWP]使用CompositionLinearGradientBrush实现渐变画笔并制作动画
    [WPF 自定义控件]模仿UWP的ProgressRing
    [UWP]占领标题栏
    [WPF 自定义控件]关于ScrollViewer和滚动轮劫持(scroll-wheel-hijack)
    [WPF 自定义控件]给WPF一个HyperlinkButton
    VisualStudio中的单元测试
    重温《单元测试的艺术》,总结常用知识点
    [WPF 自定义控件]自定义Expander
    nhibernate入门使用经验
    个人搜藏小技巧:eclipse 设定proxy,仍不能连网的问题
  • 原文地址:https://www.cnblogs.com/xiaxinggege/p/5710821.html
Copyright © 2011-2022 走看看