java聊天软件程序设计
客户端import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.*;public class ChatClient extends Frame { Socket s = null; DataOutputStream dos = null; DataInputStream dis = null; private boolean bConnected = false; TextField tfTxt = new TextField(); TextArea taContent = new TextArea(); Thread tRecv = new Thread(new RecvThread()); public static void main(String[] args) { new ChatClient().launchFrame(); } public void launchFrame() { setLocation(400, 300); this.setSize(300, 300); add(tfTxt, BorderLayout.SOUTH); add(taContent, BorderLayout.NORTH); pack(); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { disconnect(); System.exit(0); } }); tfTxt.addActionListener(new TFListener()); setVisible(true); connect(); tRecv.start(); } public void connect() { try { s = new Socket("127.0.0.1", 8888); dos = new DataOutputStream(s.getOutputStream()); dis = new DataInputStream(s.getInputStream());System.out.println("connected!"); bConnected = true; } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void disconnect() { try { dos.close(); dis.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } /* try { bConnected = false; tRecv.join(); } catch(InterruptedException e) { e.printStackTrace(); } finally { try { dos.close(); dis.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } } */ } private class TFListener implements ActionListener { public void actionPerformed(ActionEvent e) { String str = tfTxt.getText().trim(); //taContent.setText(str); tfTxt.setText(""); try {//System.out.println(s); dos.writeUTF(str); dos.flush(); //dos.close(); } catch (IOException e1) { e1.printStackTrace(); } } } private class RecvThread implements Runnable { public void run() { try { while(bConnected) { String str = dis.readUTF(); //System.out.println(str); taContent.setText(taContent.getText() + str + '\n'); } } catch (SocketException e) { System.out.println("退出了,bye!"); } catch (EOFException e) { System.out.println("推出了,bye - bye!"); } catch (IOException e) { e.printStackTrace(); } } }}服务器端import java.io.*;import java.net.*;import java.util.*;public class ChatServer { boolean started = false; ServerSocket ss = null; List clients = new ArrayList(); public static void main(String[] args) { new ChatServer().start(); } public void start() { try { ss = new ServerSocket(8888); started = true; } catch (BindException e) { System.out.println("端口使用中...."); System.out.println("请关掉相关程序并重新运行服务器!"); System.exit(0); } catch (IOException e) { e.printStackTrace(); } try { while(started) { Socket s = ss.accept(); Client c = new Client(s);System.out.println("a client connected!"); new Thread(c).start(); clients.add(c); //dis.close(); } } catch (IOException e) { e.printStackTrace(); } finally { try { ss.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class Client implements Runnable { private Socket s; private DataInputStream dis = null; private DataOutputStream dos = null; private boolean bConnected = false; public Client(Socket s) { this.s = s; try { dis = new DataInputStream(s.getInputStream()); dos = new DataOutputStream(s.getOutputStream()); bConnected = true; } catch (IOException e) { e.printStackTrace(); } } public void send(String str) { try { dos.writeUTF(str); } catch (IOException e) { clients.remove(this); System.out.println("对方退出了!我从List里面去掉了!"); //e.printStackTrace(); } } public void run() { try { while(bConnected) { String str = dis.readUTF();System.out.println(str); for(int i=0; i it = clients.iterator(); it.hasNext(); ) { Client c = it.next(); c.send(str); } */ /* Iterator it = clients.iterator(); while(it.hasNext()) { Client c = it.next(); c.send(str); } */ } } catch (EOFException e) { System.out.println("Client closed!"); } catch (IOException e) { e.printStackTrace(); } finally { try { if(dis != null) dis.close(); if(dos != null) dos.close(); if(s != null) { s.close(); //s = null; } } catch (IOException e1) { e1.printStackTrace(); }} } }}
求
系统软件是软件的软件,是软件运行的平台。
应用软件是为了完成特定目的编写的软件。
常用的系统软件有操作系统(DOS、WINDOWS、UNIX、OS/2),数据库管理系统(FoxPro、DB-2、Access、SQL-server),编译软件(VB、C++、JAVA)。
应用软件有文字处理软件(WORD、WPS),信息管理软件,辅助设计软件(CAD),实时控制软件(CAM)。
用java做什么软件好呢?本人水平一般,希望各位给点建议,最好新...
java分三个方向:j2SE,j2ME,j2EE。
1.javaSE也就是桌面开发又叫c/s开发,但是现在比较流行好用的桌面开发一般用c#(读音:c shap),桌面开发做一些企业软件,因为java跨平台性能优异,在windows,linnux很轻松跑起来,所以目前统计世界五百强企业里98%用java编写的,前20电信巨头全部都是用java。
2.javaME方向,可以说android方向,google出的android以开源优势独占上风,目前三星等大型手机开发商都是用java编写的程序,【记得android4.0发布时候和三星那款手机一起发布,看过视频】当然android底层是linux,linux的底层又是c,这得看你将来想干嘛,如果想做杀毒软件、操作系统程序员就去钻研c,如果想做大型企业软件就学java,如果想做桌面开发就学c#,如果想在深入研究java就得学习网页编程,也就是javaEE。
3.javaEE网页开发,当然这个要求技术水平很高,j2ee有13中核心技术,通过某种途径学习,比如说上网上找视频,或者去培训机构【个人建议自学一遍之后再去培训班,他们给推荐就业,面试官比较喜欢基础优秀的】。
路线:se--jdbc(操作数据库)--html+css--javascript--servlet--jsp--strut--hibernate--spring。
。
。
打字好累。
。
。
祝你成功!
转载请注明出处51数据库 » java聊天类软件系统
一样的华丽