• 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()

    关闭服务器套接字

  • 相关阅读:
    ubuntu下/etc/rc.local和/etc/init.d/rc.local的区别
    Shell 中的中括号用法总结
    基于C语言sprintf函数的深入理解
    linux下查看十六进制文件方法
    oracle load data infile
    linux bash中too many arguments问题的解决方法
    关于促进问题解决
    SYSTEM表空间过大问题
    01 Oracle分区索引
    oracle 11gR2 ASM添加和删除磁盘 转
  • 原文地址:https://www.cnblogs.com/dhm520/p/8604083.html
Copyright © 2020-2023  润新知