Java命令行聊天小程序

初学了下JavaSE的网络编程这一块,写了个命令行的聊天小程序,只能一人一句聊,并且客户端先开始聊,地址固定为127.0.0.1了。过几天再写个图形界面的。

 

服务器端:


01 import java.io.*;
02 import java.net.*;
03 public class ChatServer {
04  public static void main(String[] args{
05   try {
06    ServerSocket ss new ServerSocket(6666);
07    while (true{
08     Socket ss.accept();
09     System.out.println("Connected");
10     DataOutputStream dos new DataOutputStream(s.getOutputStream());
11     DataInputStream dis new DataInputStream(s.getInputStream());
12     BufferedReader br new BufferedReader(new InputStreamReader(
13       System.in));
14     String input null;
15     String in null;
16     while ((in dis.readUTF()) != null{
17      System.out.println("Client:" in);
18      if ((input br.readLine()).equals("bye")) {
19       System.exit(0);
20      }
21      dos.writeUTF(input);
22      dos.flush();
23      System.out.println("Server:" input);
24     }
25     dos.close();
26     dis.close();
27     br.close();
28     s.close();
29    }
30   catch (IOException e{
31    System.exit(-1);
32   }
33  }
34 }

客户端:


01 import java.io.*;
02 import java.net.*;
03 
04 public class ChatClient {
05  public static void main(String[] args{
06   try {
07    Socket new Socket("127.0.0.1"6666);
08    System.out.println("Connected");
09    DataInputStream dis new DataInputStream(s.getInputStream());
10    DataOutputStream dos new DataOutputStream(s.getOutputStream());
11    BufferedReader br new BufferedReader(new InputStreamReader(
12      System.in));
13    String input null;
14    while (!(input br.readLine()).equals("bye")) {
15     dos.writeUTF(input);
16     dos.flush();
17     System.out.println("Client:" input);
18     System.out.println("Server:" dis.readUTF());
19    }
20    dis.close();
21    dos.close();
22    br.close();
23    s.close();
24   catch (UnknownHostException e{
25    System.out.println("Host not found!");
26    System.exit(-1);
27   catch (IOException e{
28    System.exit(-1);
29   }
30  }
31 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值