zoukankan      html  css  js  c++  java
  • Socket通信1.0

    Socket通信1.0

    服务器端:

    	package page;
    
    	import java.io.BufferedReader;
    	import java.io.IOException;
    	import java.io.InputStreamReader;
    	import java.io.PrintStream;
    	import java.net.ServerSocket;
    	import java.net.Socket;
    	import java.net.UnknownHostException;
    
    	public class Server {
    
     	public static void main(String[] args) throws UnknownHostException {
    	  Socket socket = null;
    	  ServerSocket serverSocket=null;
    	  try {
    	   while(true){
    		serverSocket= new ServerSocket(4242);//创建绑定端口8000的对象ServerSocket
    	    System.out.println("服务器已经启动");
    	    socket = serverSocket.accept();//接收客户端请求,得到Socket
    	    System.out.println("有客户端连接过来了");
    	    BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));//创建带缓冲的字符读入流
    	    String sr = br.readLine();//读取一个文本行
    	    PrintStream ps = new  PrintStream(socket.getOutputStream());//此输出流不会抛出异常
    	    ps.println(new StringBuffer(sr).reverse());//将反转后的字符串打印到客户端屏幕上 
    	   }
    	   
    	  } catch (IOException e) {
    	   e.printStackTrace();
    	  }finally{
    	   try {
    	   if(socket != null)
    	     socket.close();
    	   if(serverSocket != null)
    		   serverSocket.close();
    	    } catch (IOException e) {
    	     e.printStackTrace();
    	   }
    	  }
    	 }
    
    	}
    

    客户端:

    	package page;
    
    	import java.io.BufferedReader;
    	import java.io.IOException;
    	import java.io.InputStreamReader;
    	import java.io.PrintStream;
    	import java.net.InetAddress;
    	import java.net.Socket;
    	import java.util.Scanner;
    
    	public class Client {
    
     	public static void main(String[] args){
    	  Socket socket = null;
    	  try {
    	   socket = new Socket("localhost",4242);//创建Socket, 请求服务端
    	   System.out.println("客户端已经连接上");
    	   while(true){
    	    BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    	    PrintStream ps = new PrintStream(socket.getOutputStream());
    	    Scanner scanner = new Scanner(System.in);   // 创建Scanner
    	    System.out.println("请输入一个字符串6:");    // 给出提示输入
    	    String line = scanner.nextLine();     // 从键盘输入读取一行
    	    ps.println(line);//发送到服务端
    	    ps.flush();
    	    if((socket.getInputStream().available())==0)
    	    System.out.println(br.readLine());// 读取服务端发回的字符串, 打印  
     	   }
    	  } catch (Exception e){
    	   e.printStackTrace();
    	  }finally{
    	   if(socket != null){
    	    try {
    	     socket.close();
    	    } catch (IOException e) {
    	     e.printStackTrace();
    	    }
    	   }
    	  }
    	 }
    	}
  • 相关阅读:
    【Android N 7.1.1】 屏幕亮和灭的处理地方
    Android 测量调用方法耗时的方法
    【Android M】获取屏幕锁定的相关信息:“无”,“滑动”,“PIN码”,"图案","密码"
    【Android N 7.1.1】 ActivityManagerService 获取cpu状态
    Android 判断当前是否在跑monkey测试
    【Android N 7.1.1】 锁屏之上显示Toast
    【Android N 7.1.1】 处于锁屏界面时可以转屏
    【Android N 7】使用量统计usagestats
    #### 批处理命令 获取当前目录下所有文件的路径
    Linux命令 swap:内存交换空间
  • 原文地址:https://www.cnblogs.com/renxiuxing/p/9362186.html
Copyright © 2011-2022 走看看