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

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/12/20 16:30:37ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

ClientThread temp = clients.get(i);

clients.remove(i);// ɾ³ý´ËÓû§µÄ·þÎñÏß³Ì temp.stop();// Í£Ö¹ÕâÌõ·þÎñÏß³Ì return; } } } else {

dispatcherMessage(message);// ת·¢ÏûÏ¢ }

} catch (IOException e) { e.printStackTrace(); } } }

ÆäÔËÐнØÍ¼ÈçÏÂͼËùʾ£º

£¨2£©¡¢¿Í»§¶ËÖ÷³ÌÐò

±¾³ÌÐòʹÓÃÁËĬÈϵĿ¨Æ¬²¼¾Ö·½Ê½£¬¶Ô´°¿ÚµÄ´óС½øÐÐÉèÖã¬ÈÃÁÄÌì´°¿ÚÄÜ

5

¹»¾ÓÖÐÏÔʾ£¬ÒÔ¼°µÇ¼Ö÷´°¿ÚÀà¡£

ʵÏÖ´°¿Ú²¼¾Ö¹¦ÄܺÍÀàµÄµ÷Óù¦ÄܵÄÖ÷Òª´úÂëÈçÏ£º * Á¬½Ó·þÎñÆ÷ *

* @param port * @param hostIp * @param name */

public boolean connectServer(int port, String hostIp, String name) { // Á¬½Ó·þÎñÆ÷ try {

socket = new Socket(hostIp, port);// ¸ù¾Ý¶Ë¿ÚºÅºÍ·þÎñÆ÷ip½¨Á¢Á¬½Ó writer = new PrintWriter(socket.getOutputStream()); reader = new BufferedReader(new InputStreamReader(socket .getInputStream()));

// ·¢ËͿͻ§¶ËÓû§»ù±¾ÐÅÏ¢(Óû§ÃûºÍipµØÖ·)

sendMessage(name + \ // ¿ªÆô½ÓÊÕÏûÏ¢µÄÏß³Ì

messageThread = new MessageThread(reader, textArea); messageThread.start();

isConnected = true;// ÒѾ­Á¬½ÓÉÏÁË return true;

} catch (Exception e) {

textArea.append(\Óë¶Ë¿ÚºÅΪ£º\µØÖ·Îª£º\ + \µÄ·þÎñÆ÷Á¬½Óʧ°Ü!\ isConnected = false;// δÁ¬½ÓÉÏ return false; } }

(5)¡¢ ÁÄÌì´°¿Ú³ÌÐòÉè¼Æ

³ÌÐòÌṩÁË·¢ËÍÎÄ×ֺ͹رÕÁÄÌìµÄµÄ¼òµ¥¹¦ÄÜ¡£ÒÔÏÂÊÇʵÏÖ³ÌÐòµÄÖ÷Òª·½

6

·¨£º

* ·¢ËÍÏûÏ¢ *

* @param message */

public void sendMessage(String message) { writer.println(message); writer.flush(); } /**

* ¿Í»§¶ËÖ÷¶¯¹Ø±ÕÁ¬½Ó */

@SuppressWarnings(\

public synchronized boolean closeConnection() { try {

sendMessage(\·¢ËͶϿªÁ¬½ÓÃüÁî¸ø·þÎñÆ÷ messageThread.stop();// Í£Ö¹½ÓÊÜÏûÏ¢Ïß³Ì // ÊÍ·Å×ÊÔ´ if (reader != null) { reader.close(); }

if (writer != null) { writer.close(); }

if (socket != null) { socket.close(); }

isConnected = false; return true;

} catch (IOException e1) {

7

e1.printStackTrace(); isConnected = true; return false; } }

ÆäÔËÐнØÍ¼ÈçÏÂͼËùʾ£º

8