JavaÁÄÌìÊҿγÌÉè¼Æ±¨¸æ ÏÂÔر¾ÎÄ

Eclipse¼ò½é

Eclipse ÊÇÒ»¸ö¿ª·ÅÔ´´úÂëµÄ¡¢»ùÓÚ Java µÄ¿ÉÀ©Õ¹¿ª·¢Æ½Ì¨¡£¾ÍÆä±¾

Éí¶øÑÔ£¬ËüÖ»ÊÇÒ»¸ö¿ò¼ÜºÍÒ»×é·þÎñ£¬ÓÃÓÚͨ¹ý²å¼þ×é¼þ¹¹½¨¿ª·¢»·¾³¡£ÐÒÔ˵ÄÊÇ£¬Eclipse ¸½´øÁËÒ»¸ö±ê×¼µÄ²å¼þ¼¯£¬°üÀ¨ Java ¿ª·¢¹¤¾ß¡£

EclipseÊÇÖøÃûµÄ¿çƽ̨µÄ×ÔÓɼ¯³É¿ª·¢»·¾³£¨IDE£©¡£×î³õÖ÷ÒªÓÃÀ´JavaÓï ÑÔ¿ª·¢£¬µ«ÊÇÄ¿Ç°ÒàÓÐÈËͨ¹ý²å¼þʹÆä×÷ΪÆäËû¼ÆËã»úÓïÑÔ±ÈÈçC++ºÍPythonµÄ¿ª·¢¹¤¾ß¡£EclipseµÄ±¾ÉíÖ»ÊÇÒ»¸ö¿ò¼Üƽ̨£¬µ«ÊÇÖÚ¶à²å¼þµÄÖ§³Ö ʹµÃEclipseÓµÓÐÆäËû¹¦ÄÜÏà¶Ô¹Ì¶¨µÄIDEÈí¼þºÜÄѾßÓеÄÁé»îÐÔ¡£Ðí¶àÈí¼þ¿ª·¢ÉÌÒÔEclipseΪ¿ò¼Ü¿ª·¢×Ô¼ºµÄIDE¡£

Eclipse ×î³õÓÉOTIºÍIBMÁ½¼Ò¹«Ë¾µÄIDE²úÆ·¿ª·¢×é´´½¨£¬ÆðʼÓÚ1999Äê4Ô¡£IBMÌṩÁË×î³õµÄEclipse´úÂë»ù´¡£¬°üÀ¨Platform¡¢JDT ºÍPDE¡£Ä¿Ç°ÓÉIBMǣͷ£¬Î§ÈÆ×ÅEclipseÏîÄ¿ÒѾ­·¢Õ¹³ÉΪÁËÒ»¸öÅÓ´óµÄEclipseÁªÃË£¬ÓÐ150¶à¼ÒÈí¼þ¹«Ë¾²ÎÓëµ½EclipseÏîÄ¿ÖУ¬ ÆäÖаüÀ¨Borland¡¢Rational Software¡¢Red Hat¼°SybaseµÈ¡£EclipseÊÇÒ»¸ö¿ª·¢Ô´ÂëÏîÄ¿£¬ËüÆäʵÊÇ Visual Age for JavaµÄÌæ´úÆ·£¬Æä½çÃæ¸úÏÈÇ°µÄVisual Age for Java²î²»¶à£¬µ«ÓÉÓÚÆ俪·ÅÔ´Â룬ÈκÎÈ˶¼¿ÉÒÔÃâ·ÑµÃµ½£¬²¢¿ÉÒÔÔÚ´Ë»ù´¡ÉÏ¿ª·¢¸÷×ԵIJå¼þ£¬Òò´ËÔ½À´Ô½ÊÜÈËÃǹØ×¢¡£½üÆÚ»¹ÓаüÀ¨OracleÔÚÄÚµÄÐí¶à ´ó¹«Ë¾Ò²·×·×¼ÓÈëÁ˸ÃÏîÄ¿£¬²¢Ðû³ÆEclipse½«À´ÄܳÉΪ¿É½øÐÐÈκÎÓïÑÔ¿ª·¢µÄIDE¼¯´ó³ÉÕߣ¬Ê¹ÓÃÕßÖ»ÐèÏÂÔظ÷ÖÖÓïÑԵIJå¼þ¼´¿É¡£

3.ÐèÇó·ÖÎö

3.1³ÌÐò¼ò½é

Ëæ×ÅÍøÂç¼¼ÊõµÄ·¢Õ¹£¬ÈËÃÇÔ½À´Ô½¶àµÄÒÀÀµÓÚÍøÂ磬ΪÁË·½±ãÈËÃǵÄÉú»î£¬ÍøÂçÁÄÌì×ÔÈ»³ÉΪÁËÈȵ㣬¸÷ÖÖ¹¤¾ßµ½´¦¶¼ÊÇ¡£´Ë³ÌÐò±ãÊÇÄ£·ÂÆäËûÁÄÌ칤¾ßÉè¼ÆµÄ£¬µ±È»Ö»ÊÇʵÏÖÁ˱ȽÏÉٵŦÄÜ£¬¿ÉÒÔ½øÐлù±¾µÄÁÄÌì¡£

3.2 ³ÌÐò¹¦ÄÜ

¸Ã³ÌÐò¹¦ÄÜ£º¸Ã³ÌÐò·ÖΪ2¸ö²¿·Ö£¬Ò»¸öÊÇ¿Í»§¶Ë³ÌÐò£¬Ò»¸öÊÇ·þÎñ¶Ë³ÌÐò£¬

1

ÐèÒªÏÈ¿ªÆô·þÎñÆ÷£¬ÔÙ¿ªÆô¿Í»§¶Ë²ÅÄÜʹÓ㬿ͻ§¶Ë³ÌÐòÌṩÁËÏ໥ͨÐÅ¡¢Çå¿ÕÁÄÌì¼Ç¼µÄµÈ¹¦ÄÜ£¬·þÎñ¶ËÔòÓÃÓÚ½ÓÊÜ¿Í»§¶ËµÄÇëÇ󣬼Ǽ¿Í»§¶ËµÄÐÅÏ¢µÈ¡£

4.ϵͳÉè¼Æ 4.1¸ÅÒªÉè¼Æ

´ËÁÄÌì³ÌÐò¹²ÓÐ2¸ö²¿·Ö£¬¿Í»§¶ËºÍ·þÎñÆ÷¡£¿Í»§¶ËÖаüº¬ÁË1¸öJavaÎļþ£¬ÎªÖ÷Ààclient.java£¬£»·þÎñÆ÷¶ËÖ»ÓÐÒ»¸öÖ÷ÀàServer.java¡£

³ÌÐòÁ÷³Ìͼ£º

·þÎñÆ÷³ÌÐò½á¹¹ ¿Í»§¶Ë³ÌÐò½á¹¹

4.2ÏêϸÉè¼Æ

£¨1£©·þÎñÆ÷³ÌÐòʵÏÖ

±¾³ÌÐò²ÉÓõÄÊÇSocketͨÐÅÀ´Éè¼ÆµÄ£¬½¨Á¢Ò»¸öÖ÷ÀàServer.java,ÆäÖÐÖ÷ÀàÖл¹°üÀ¨·þÎñÆ÷Ïß³Ì È»ºóÔÚÆä¹¹Ôì·½·¨¼ÓÔسÌÐòËùÐèµÄ×é¼þ£¬¹¹Ôì·½·¨ÈçÏ£º

2

public ClientThread(Socket socket) { try {

this.socket = socket;

reader = new BufferedReader(new InputStreamReader(socket .getInputStream()));

writer = new PrintWriter(socket.getOutputStream()); // ½ÓÊÕ¿Í»§¶ËµÄ»ù±¾Óû§ÐÅÏ¢ String inf = reader.readLine();

StringTokenizer st = new StringTokenizer(inf, \ user = new User(st.nextToken(), st.nextToken()); // ·´À¡Á¬½Ó³É¹¦ÐÅÏ¢

writer.println(user.getName() + user.getIp() + \Óë·þÎñÆ÷Á¬½Ó³É¹¦!\ writer.flush();

// ·´À¡µ±Ç°ÔÚÏßÓû§ÐÅÏ¢ if (clients.size() > 0) { String temp = \

for (int i = clients.size() - 1; i >= 0; i--) {

temp += (clients.get(i).getUser().getName() + \ .get(i).getUser().getIp()) + \ }

writer.println(\ writer.flush(); }

// ÏòËùÓÐÔÚÏßÓû§·¢Ë͸ÃÓû§ÉÏÏßÃüÁî for (int i = clients.size() - 1; i >= 0; i--) { clients.get(i).getWriter().println(

\ clients.get(i).getWriter().flush(); }

} catch (IOException e) {

3

e.printStackTrace(); } }

@SuppressWarnings(\

public void run() {// ²»¶Ï½ÓÊÕ¿Í»§¶ËµÄÏûÏ¢£¬½øÐд¦Àí¡£ String message = null; while (true) { try {

message = reader.readLine();// ½ÓÊÕ¿Í»§¶ËÏûÏ¢ if (message.equals(\ÏÂÏßÃüÁî {

contentArea.append(this.getUser().getName() + this.getUser().getIp() + \ÏÂÏß!\\r\\n\ // ¶Ï¿ªÁ¬½ÓÊÍ·Å×ÊÔ´ reader.close(); writer.close(); socket.close();

// ÏòËùÓÐÔÚÏßÓû§·¢Ë͸ÃÓû§µÄÏÂÏßÃüÁî for (int i = clients.size() - 1; i >= 0; i--) { clients.get(i).getWriter().println( \ clients.get(i).getWriter().flush(); }

listModel.removeElement(user.getName());// ¸üÐÂÔÚÏßÁбí

// ɾ³ý´ËÌõ¿Í»§¶Ë·þÎñÏß³Ì

for (int i = clients.size() - 1; i >= 0; i--) { if (clients.get(i).getUser() == user) {

4