一个简单的Echo Server的Java实现

package  midi.socket;

import  java.io.BufferedReader;
import  java.io.IOException;
import  java.io.InputStream;
import  java.io.InputStreamReader;
import  java.io.OutputStream;
import  java.io.PrintWriter;
import  java.net.ServerSocket;
import  java.net.Socket;
import  java.util.Scanner;

public   class  EchoServer14  {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {

        Socket socket 
= null;
        
try {
            ServerSocket serverSocket 
= new ServerSocket(8189);

            System.out.println(
"Server will start...");
            socket 
= serverSocket.accept();
            
            System.out.println(
"Server listening at 8189");
            
            InputStream inStream 
= socket.getInputStream();
            OutputStream outStream 
= socket.getOutputStream();

            BufferedReader br 
= new BufferedReader(new InputStreamReader(inStream));
            
            PrintWriter out 
= new PrintWriter(outStream);
            
            out.write(
"欢迎光临迷笛的 Echo 服务器 ");
            out.write(
"退出服务请输入 BYE ");
            out.flush();
            
boolean done = false;
            String line 
= null;
            
while(!done && (line=br.readLine())!=null{
                
                out.write(
"Echo:"+line+" ");
                out.write(
"请输入命令... ");
                out.flush();
                
if(line.trim().equals("BYE"))
                    done
=true;
            }

            
            
// 下面是使用jdk1.5中的Scanner
            /*
             Scanner scanner = new Scanner(inStream);
            PrintWriter out = new PrintWriter(outStream);
            
            out.write("欢迎光临迷笛的 Echo 服务器 ");
            out.write("退出服务请输入 BYE ");
            out.flush();
            boolean done = false;
            
            while(!done && scanner.hasNextLine()) {
                String line = scanner.nextLine();
                out.write("Echo:"+line+" ");
                out.write("请输入命令... ");
                out.flush();
                if(line.trim().equals("BYE"))
                    done=true;
            }
             * 
*/

            
            
        }
 catch (IOException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }
 finally {
            
try {
                socket.close();
            }
 catch (IOException e) {
                
// TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

    }


}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值