《Java程序设计》第三次作业:网络编程~

补充作业三的,今周是17周,按照老师的作业要求,先完成作业以熟悉书本上的事列,熟悉代码,并加以学习!

对于目标1,我们认真阅读,花一定的时间(约1-2小时),应该每个同学都可以完成。细心+耐心。
    对于目标2,思路是什么呢?
(1)教材P231例11-3中,告诉了我们怎样输出网页源代码到控制台,不妨先尝试一下。
(2)作业中,我们需要哪些信息呢?这些信息在什么地方可以获得呢?

下面是教材P231中的例题

(1)客户端程序

import java.io. *;
import java.net. *;
public class ChatClient{
public static void main(String args[]){
	try{  
        Socket socket = new Socket("127.0.0.1",4000);  
        System.out.println("输入你要说的话,如果要退出输入bye");  
        //由系统标准输入设备构造BufferedReader对象  
        BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));  
        //由Socket对象得到输出流,并构造PrintWriter对象  
        PrintWriter os = new PrintWriter(socket.getOutputStream());  
        BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));      
        String readline;      
        readline = sin.readLine();  
        //从系统标准输入读入一字符串  
        while(! readline.equals("bye")){  
            //将从系统标准输入读入的字符串输出到Server  
            os.println(readline);      
            os.flush();//刷新输出流,使服务器端马上收到该字符串  
            //输出上打印读入的字符串  
            System.out.println("Client:"+readline);  
            //从服务器端读入一字符串,并打印到显示器上  
            System.out.println("Server:"+is.readLine());      
            readline=sin.readLine();//从系统标准输入读入一字符串  
        }    //循环结束  
        os.close();    //关闭Socket输出流  
        is.close();    //关闭Socket输入流  
        socket.close();    //关闭Socket  
    }catch(Exception e){      
        System.out.println("Error"+e); //出错,则打印出错信息     
    }      
}      
}    
	
(2)服务器端程序
<pre name="code" class="java">import java.io.*;    
import java.net.*;    
import java.applet.Applet;    
    
@SuppressWarnings("unused")  
public class ChatServer {    
    public static void main(String args[]){    
        try{    
            ServerSocket server=null;    
            try{    
                server = new ServerSocket(4000);    
                System.out.println("准备好了,退出输入bye");    
            }catch(Exception e){  //出错,打印出错信息  
                System.out.println("can't listen to:"+e);    
            }    
            Socket socket = null;    
            try{    
                socket=server.accept();    
                    
            }catch(Exception e){    
                System.out.println("Error."+e);  //出错,打印出错信息  
            }    
            String line;    
            //由Socket对象得到输入流,并构造相应的BufferedReader对象  
            BufferedReader is =new BufferedReader(new InputStreamReader(socket.getInputStream()));  
            //由Socket对象得到输出流,并构造PrintWriter对象  
            PrintWriter os = new PrintWriter(socket.getOutputStream());  
            //由系统标准输入设备构造BufferedReader对象  
            BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));    
           //在标准输出上打印从客户端读入的字符串  
            System.out.println("Client:"+is.readLine());    
            line = sin.readLine();   
            //从标准输入读入一字符串  
            while(! line.equals("bye")){ //如果字符串为“bye”,则停止循环   
                os.println(line);  //向客户端输出该字符串  
                os.flush();  //刷新输出流,使Client马上收到该字符串  
                //在系统标准输出上打印读入的字符串  
                System.out.println("Server:"+line);    
                //从Client读入一字符串,并打印到标准输出上  
                System.out.println("Client:"+is.readLine());    
                line = sin.readLine();  //从系统标准输入读入一字符串  
            }  //继续循环  
            os.close();  //关闭Socket输出流  
            is.close();  //关闭Socket输入流  
            socket.close();  //关闭Socket  
            server.close();  //关闭ServerSocket  
        }catch(Exception e){    
            System.out.println("Error:"+e); //出错,打印出错信息   
        }    
    }    
    
}
注:由于在学校机房里完成输入代码和输入结果,所以在同一台机上演示本程序,打开DOS窗口运行服务器端程序显示文件位置不对,所以显示不到DOS内容。    
<img src="https://img-blog.csdn.net/20150629110924952?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzkxNDM5Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
结果图:

 
<img src="https://img-blog.csdn.net/20150629110452381?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzkxNDM5Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />



问题:怎么解决注释的错误?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值