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

本文介绍了一个简单的Java客户端与服务器端聊天程序,通过使用Socket进行通信,实现了客户端发送消息到服务器,服务器接收并转发消息的功能。程序包括客户端和服务器两部分,客户端负责输入消息并发送,服务器则接收消息并转发给所有连接的客户端。
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 sin = new BufferedReader(new InputStreamReader(System.in));      
            PrintWriter os =new PrintWriter(socket.getOutputStream());      
            BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));      
            String readline;      
            readline = sin.readLine();      
            while(! readline.equals("bye")){      
                os.println(readline);      
                os.flush();      
                System.out.println("Client:"+readline);      
                System.out.println("Server:"+is.readLine());      
                readline=sin.readLine();      
            }      
            os.close();      
            is.close();      
            socket.close();      
                  
        }catch(Exception e){      
            System.out.println("Error"+e);      
        }      
    }      

}      


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;      
            BufferedReader is =new BufferedReader(new InputStreamReader(socket.getInputStream()));      
            PrintWriter os = new PrintWriter(socket.getOutputStream());      
            BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));      
            System.out.println("Client:"+is.readLine());      
            line = sin.readLine();      
            while(! line.equals("bye")){      
                os.println(line);      
                os.flush();      
                System.out.println("Server:"+line);      
                System.out.println("Client:"+is.readLine());      
                line = sin.readLine();      
            }      
            os.close();      
            is.close();      
            socket.close();      
            server.close();      
        }catch(Exception e){      
            System.out.println("Error:"+e);      
        }      
    }      
      
}      


运行结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值