zoukankan      html  css  js  c++  java
  • Java客户端与服务器的通信

     实现简单的服务器程序

    1. package Socket;  
    2.   
    3. import java.io.IOException;  
    4. import java.io.InputStream;  
    5. import java.io.OutputStream;  
    6. import java.io.PrintWriter;  
    7. import java.net.ServerSocket;  
    8. import java.net.Socket;  
    9. import java.util.Scanner;  
    10.   
    11. public class EchoServer {  
    12.   
    13.     public static void main(String[] args) {  
    14.         try {  
    15.             //建立服务器端Socket,监听8189端口  
    16.             ServerSocket s = new ServerSocket(8189);  
    17.             //等待客户端的访问  
    18.             Socket incoming = s.accept();  
    19.             try{  
    20.                 //从“客户端”Socket对象读字节流  
    21.                 InputStream inStream = incoming.getInputStream();  
    22.                 //向“客户端”Socket对象写字节流  
    23.                 OutputStream outStream = incoming.getOutputStream();  
    24.                 //将读出来的数据封装成Scanner对象  
    25.                 Scanner in = new Scanner(inStream);  
    26.                 //封装输出流  
    27.                 PrintWriter out = new PrintWriter(outStream,true);  
    28.                                        
    29.                 //接收到客户端的请求,输出"Hello! Enter Bye to exit."                 
    30.                 out.println("Hello! Enter BYE to exit.");  
    31.                   
    32.                //解析客户端的输入,然后做出回应  
    33.                 boolean done = false;  
    34.                 while(!done&&in.hasNext())  
    35.                 {  
    36.                     String line = in.nextLine();  
    37.                     out.println("Echo:"+line);  
    38.                     if(line.trim().equals("BYE")) done=true;  
    39.                 }  
    40.             }  
    41.             finally{  
    42.                 //关闭客户端的Socket  
    43.                 incoming.close();  
    44.             }  
    45.         } catch (IOException e) {  
    46.             e.printStackTrace();  
    47.         }  
    48.     }  
    49. }  

    然后在cmd下 使用telnet 127.0.0.1 8189 进行测试。

    1.ServerSocket(int port)

    创建一个监控端口的服务器Socket

    2.Socket accept() 等待连接。

    该方法阻塞当前线程直到建立连接为止。该方法返回一个Socket对象。程序可以通过这个对象与连接中的客户端进行通信。

    3.void close()

    关闭服务器套接字

  • 相关阅读:
    干点小事的常用的着的语句
    hadoop测试环境主配置简例
    开源集
    Linux系统重装与还原
    POJ1679 The Unique MST 【次小生成树】
    No value for key [org.hibernate.impl.SessionFactoryImpl 异常解决
    Java程序猿学习C++之数组和动态数组
    LightOj 1123-Trail Maintenance(最小生成树:神级删边)
    分布式协议之两阶段提交协议(2PC)和改进三阶段提交协议(3PC)
    HDU 4847 陕西邀请赛A(水)
  • 原文地址:https://www.cnblogs.com/dhm520/p/8604083.html
Copyright © 2011-2022 走看看