ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 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