读书人

简易客户端-服务器聊天程序

发布时间: 2012-09-15 19:09:29 作者: rapoo

简易客户端--服务器聊天程序
功能:简单的客户端和服务器互发信息。服务器端:

import javax.swing.*;import java.net.*;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;//客户机端public class MyClient extends JFrame implements ActionListener{JTextArea jta = null;JScrollPane jsp = null;JTextField jtf = null;JButton jb = null;JPanel jp = null;PrintWriter pw = null;//主方法public static void main(String[] args) {MyClient ms = new MyClient();}//构造器public MyClient(){this.setTitle("简易聊天--客户机端");this.setResizable(false);this.setLocation(100, 100);jta = new JTextArea();jsp = new JScrollPane(jta);jtf = new JTextField(10);jb = new JButton("发送");jb.addActionListener(this);jp = new JPanel();jp.add(jtf);jp.add(jb);this.add(jsp,BorderLayout.CENTER);this.add(jp,BorderLayout.SOUTH);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(300, 200);this.setVisible(true);try {Socket s = new Socket("127.0.0.1",9999);InputStreamReader isr = new InputStreamReader(s.getInputStream());BufferedReader br = new BufferedReader(isr);pw = new PrintWriter(s.getOutputStream(),true);while(true){//不停地读取从服务器端发来的信息String info = br.readLine();jta.append("服务器对客户端说:"+info+"\r\n");}} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}@Overridepublic void actionPerformed(ActionEvent e) {if(e.getSource()==jb){String info = jtf.getText();//把客户端发送的信息显示在jfajta.append("客户端对服务器说:"+info+"\r\n");pw.println(info);jtf.setText("");}}}
?

读书人网 >编程

热点推荐