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 }
  • 相关阅读:
    倒计时浏览器跳转JavaScript
    C#.NET中使用存储过程的方法及其优点
    利用GridView控件导出其他文件(导出Excel,导出Word文件)
    c#.net用JavaScript实现 时钟显示
    程序执行一半后可以跳出对话框选择是否继续执行
    FreeMarker 中文官方参考手册 For Freemarker 2.3.23
    Spring技术内幕之Spring Data JPA-自定义Repository实现
    ehcache入门基础示例
    SpringData JPA 接口和方法
    Springboot中使用缓存
  • 原文地址:https://www.cnblogs.com/xiaxinggege/p/5710821.html
Copyright © 2011-2022 走看看