zoukankan      html  css  js  c++  java
  • Socket网络通信之数据传递

    Socket通信的步骤:
      1.创建ServerSocket和Socket
      2.打开连接到Socket的输入/输出流
      3.按照协议对Socket进行读/写操作
      4.关闭输入输出流、关闭Socket
    服务器端:
      1.创建ServerSocket对象,绑定监听端口
      2.通过accept()方法监听客户端请求
      3.连接建立后,通过输入流读取客户端发送的请求信息
      4.通过输出流向客户端发送相应的信息
      5.关闭相关资源
    客户端:
      1.创建Socket对象,指明需要连接的服务器的地址和端口号
      2.连接建立后,通过输出流想服务器端发送请求信息
      3.通过输入流获取服务器响应的信息
      4.关闭响应资源 

    1.Server服务器

    import java.io.*;
    import java.net.*;
    
      public class TestServer {
          public static void main(String args[]) {   
              ServerSocket s = null;  
              try {         
                  s = new ServerSocket(8888);  //建立服务器ServerSocket
                  } catch (IOException e) {  }  
              while (true) {        
                  try {
                      Socket s1 = s.accept();  //通过accept()方法监听客户端请求
    
                      OutputStream os = s1.getOutputStream();  //输出流
                      DataOutputStream dos = new DataOutputStream(os);   
                      dos.writeUTF("Hello,I am Socket!  bye bye!");  //传递信息,一句话
                      dos.close();
                      s1.close();       
                      } catch (IOException e) {}  
                  }   
              } 
    }

    2.Client客户端

    import java.io.*;
    import java.net.* ;
    
    	public class TestClient {
    		public static void main(String args[]) {  
    			try {  
    				Socket s1 = new Socket("127.0.0.1", 8888);  //创建Socket,IP及端口号
    				InputStream is = s1.getInputStream(); //输入流
    				DataInputStream dis = new DataInputStream(is);  
    				System.out.println(dis.readUTF());   //打印传输的信息
    				dis.close();   
    				s1.close();  
    				} catch (ConnectException connExc) {
    					System.err.println("服务器连接失败!"); 
    					} catch (IOException e) {   }   
    			} 
    	}
    

    首先运行TestServer,再运行TestClient ,就会在控制台打印出:Hello,I am Socket! bye bye!

    yian
  • 相关阅读:
    oracle 触发器的编写
    单例类与常见双下方法
    实现高效率的冒泡排序
    面向对象基础(五)
    面向对象基础(四)
    面向对象基础(三)
    面向对象基础(二)
    面向对象(基础)
    四指针法
    因数法
  • 原文地址:https://www.cnblogs.com/xiangpeng/p/7657022.html
Copyright © 2011-2022 走看看