Znn3bq.jpeg
±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 837  |  »Ø¸´: 4

×Óľ‚Ü

гæ (³õÈëÎÄ̳)

[ÇóÖú] socketͨÐÅ ÒÑÓÐ1È˲ÎÓë

ÇëÎÊÓÐË­ÓÐÒ»¸ö¼ò°æµÄjava  socketͨÐųÌÐòÂð£¿ÄÜÓÃenter¼ü·¢ËÍÏûÏ¢£¬ÏÔʾʱ¼ä£¬Ñ¡È¡ÎļþÕâЩ»ù´¡¹¦ÄÜ£¬Ð»Ð»ÁË

·¢×ÔСľ³æAndroid¿Í»§¶Ë
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

×Óľ‚Ü

гæ (³õÈëÎÄ̳)

ÇëÎÊÓÐÒ»¸ö¼ò°æµÄjava??socketͨÐųÌÐòÂð£¿ÄÜÓÃenter¼ü·¢ËÍÏûÏ¢£¬ÏÔʾʱ¼ä£¬Ñ¡È¡ÎļþÕâЩ»ù´¡¹¦ÄÜ£¬Ð»Ð»ÁË

·¢×ÔСľ³æAndroid¿Í»§¶Ë
2Â¥2017-12-29 11:30:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ǰ¿Çµµ°¸

ľ³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

package chat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

/**
* ÁÄÌìÊÒ¿Í»§¶Ë
* @author adminitartor
*
*/
public class Client {
        /*
         * java.net.Socket
         * ·â×°ÁËTCPͨѶЭÒ飬ʹÓÃËüÓëÔ¶³Ì¼ÆËã»ú½øÐÐ
         * ÍøÂçͨѶ¡£
         */
        private Socket socket;
        /**
         * ¹¹Ôì·½·¨£¬ÓÃÀ´³õʼ»¯¿Í»§¶Ë
         * @throws IOException
         * @throws UnknownHostException
         */
        public Client() throws UnknownHostException, IOException{
                /*
                 * ʵÀý»¯SocketÊÇÐèÒª´«ÈëÁ½¸ö²ÎÊý
                 * 1:·þÎñ¶ËipµØÖ·
                 * 2:·þÎñ¶Ë¶Ë¿Ú
                 * ͨ¹ýIPµØÖ·¿ÉÒÔÕÒµ½ÍøÂçÉϵķþÎñ¶ËËùÔڵļÆËã»ú
                 * ͨ¹ý¶Ë¿Ú¿ÉÒÔÁ¬½Óµ½¸Ã¼ÆËã»úÉϵķþÎñ¶ËÓ¦ÓóÌÐò
                 *
                 * ʵÀý»¯SocketµÄ¹ý³Ì¾ÍÊǽ¨Á¢Á¬½ÓµÄ¹ý³Ì£¬ËùÒÔÈô
                 * Á¬½Ó·þÎñ¶Ëʧ°Ü£¬ÕâÀï»áÅ׳öÒì³£¡£
                 */
                System.out.println("ÕýÔÚÓë·þÎñ¶Ë½¨Á¢Á¬½Ó...";
                socket = new Socket("localhost",8088);
                System.out.println("Óë·þÎñ¶ËÁ¬½Ó³É¹¦!";
        }
        /**
         * ¿Í»§¶ËµÄÆô¶¯·½·¨£¬´ÓÕâÀ↑ʼִÐпͻ§¶ËÂß¼­
         */
        public void start(){
                try {
                        Scanner scanner = new Scanner(System.in);
                       
                        OutputStream out = socket.getOutputStream();
                       
                        OutputStreamWriter osw
                                = new OutputStreamWriter(out,"UTF-8";
                       
                        PrintWriter pw
                                = new PrintWriter(osw,true);
                       
                        //Æô¶¯¶ÁÈ¡·þÎñ¶Ë·¢Ë͹ýÀ´ÏûÏ¢µÄÏß³Ì
                        ServerHandler handler
                                = new ServerHandler();
                        Thread t = new Thread(handler);
                        t.start();
                       
                       
                        String line = null;
                        System.out.println("¿ªÊ¼ÁÄÌì°É!";
                        //Éϴη¢ËͺóµÄʱ¼ä
                        long lasttime = System.currentTimeMillis();
                        while(true){
                                line = scanner.nextLine();
                                long curr = System.currentTimeMillis();
                                //±¾´Î·¢ËÍʱ¼äÓëÉϴη¢ËÍʱ¼äÒª¼ä¸ô1ÃëÒÔÉÏ
                                if(curr-lasttime>1000){
                                        pw.println(line);
                                        lasttime = curr;
                                }else{
                                        System.out.println("˵»°ËÙ¶ÈÌ«¿ì!";
                                }
                               
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
       
        public static void main(String[] args) {
                try {
                        Client client = new Client();
                        client.start();
                } catch (Exception e) {
                        e.printStackTrace();
                        System.out.println("¿Í»§¶ËÆô¶¯Ê§°Ü!";
                }
        }
       
        /**
         * ¸ÃÏß³ÌÓÃÀ´Ñ­»·½ÓÊÕ·þÎñ¶Ë·¢Ë͹ýÀ´µÄÏûÏ¢²¢Êä³öµ½
         * ¿Í»§¶Ë×Ô¼ºµÄ¿ØÖÆÌ¨ÉÏ
         * @author adminitartor
         *
         */
        private class ServerHandler implements Runnable{
                public void run(){
                        try {
                                InputStream in = socket.getInputStream();
                                InputStreamReader isr
                                        = new InputStreamReader(in,"UTF-8";
                                BufferedReader br
                                        = new BufferedReader(isr);
                               
                                String message = null;
                                while((message = br.readLine())!=null){
                                        System.out.println(message);
                                }
                                       
                               
                               
                        } catch (Exception e) {
                               
                        }
                }
        }
}
¿¼ÂǵÄʱºòÄãÓÖµôÁËǽÉÏ
3Â¥2018-01-12 10:44:33
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ǰ¿Çµµ°¸

ľ³æ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

package chat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

/**
* ÁÄÌìÊÒ·þÎñ¶Ë
* @author adminitartor
*
*/
public class Server {
        /*
         * java.net.ServerSocket
         * ÔËÐÐÔÚ·þÎñ¶ËµÄServerSocketÖ÷ÒªÓÐÁ½¸ö×÷ÓÃ
         * 1:ÉêÇë·þÎñ¶Ë¿Ú
         * 2:¼àÌý·þÎñ¶Ë¿Ú£¬Ò»µ©Ò»¸ö¿Í»§¶Ëͨ¹ý¸Ã¶Ë¿Ú½¨Á¢
         *   Á¬½Ó£¬Ôò´´½¨Ò»¸öSocketÓÃÓÚÓë¸Ã¿Í»§¶ËͨѶ
         */
        private ServerSocket server;
        /*
         * ¸Ã¼¯ºÏÓÃÀ´´æ·ÅËùÓпͻ§¶ËµÄÊä³öÁ÷£¬ÓÃÓÚ½«ÏûÏ¢
         * ¹ã²¥¸øËùÓпͻ§¶Ë
         */
        private List<PrintWriter> allOut;
       
        public Server() throws IOException{
                /*
                 * ³õʼ»¯ServerSocketµÄͬʱÐèÒªÖ¸¶¨·þÎñ¶Ë¿Ú
                 * ¸Ã¶Ë¿ÚºÅ²»ÄÜÓëϵͳÆäËûÓ¦ÓóÌÐòÒÑÉêÇëµÄ¶Ë¿Ú
                 * ºÅÖØ¸´£¬·ñÔò»áÅ׳öÒì³£¡£
                 */
                server = new ServerSocket(8088);
               
                allOut = new ArrayList<PrintWriter>();
        }
       
        public void start(){
                try {
                        /*
                         * ServerSocketÌṩ·½·¨:
                         * Socket accept()
                         * ¸Ã·½·¨»á¼àÌýServerSocketÉêÇëµÄ·þÎñ¶Ë¿Ú
                         * ¡£ÕâÊÇÒ»¸ö×èÈû·½·¨£¬Ö±µ½Ò»¸ö¿Í»§¶Ëͨ¹ý
                         * ¸Ã¶Ë¿ÚÁ¬½Ó²Å»á·µ»ØÒ»¸öSocket¡£Õâ¸ö·µ»Ø
                         * µÄSocketÊÇÓÃÓÚÓëÁ¬½ÓµÄ¿Í»§¶Ë½øÐÐͨѶµÄ¡£
                         *
                         */
                        while(true){
                                System.out.println("µÈ´ý¿Í»§¶ËÁ¬½Ó...";
                                Socket socket = server.accept();
                                System.out.println("Ò»¸ö¿Í»§¶ËÁ¬½ÓÁË!";
                                /*
                                 * Æô¶¯Ò»¸öÏß³ÌÓë¸Ã¿Í»§¶Ë½»»¥
                                 */
                                ClientHandler handler
                                        = new ClientHandler(socket);
                                Thread t = new Thread(handler);
                                t.start();
                        }
                       
                       
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
       
        /**
         * ½«¸ø¶¨µÄÏûÏ¢¹ã²¥¸øËùÓпͻ§¶Ë
         * @param message
         */
        private void sendMessage(String message){
                synchronized (allOut) {
                        //ת·¢¸øËùÓпͻ§¶Ë
                        for(PrintWriter o : allOut){
                                o.println(message);
                        }
                }
        }
       
        public static void main(String[] args) {
                try {
                        Server server = new Server();
                        server.start();
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
        /**
         * ¸ÃÏß³ÌÓÃÀ´Íê³ÉÓëÖ¸¶¨¿Í»§¶Ë½»»¥µÄ¹¤×÷
         * @author adminitartor
         *
         */
        private class ClientHandler implements Runnable{
                /*
                 * µ±Ç°Ïß³Ìͨ¹ýÕâ¸öSocketÓëÖ¸¶¨¿Í»§¶Ë½»»¥
                 */
                private Socket socket;
                /*
                 * Ô¶³Ì¼ÆËã»úµØÖ·ÐÅÏ¢£¬ÕâÀïÊǿͻ§¶ËµÄµØÖ·
                 */
                private String host;
               
                public ClientHandler(Socket socket){
                        this.socket = socket;
                        /*
                         * ͨ¹ýSocket¿ÉÒÔ»ñȡԶ¶Ë¼ÆËã»úµØÖ·ÐÅÏ¢
                         */
                        InetAddress address
                                = socket.getInetAddress();
                        /*
                         * »ñȡԶ¶Ë¼ÆËã»úIPµØÖ·µÄ×Ö·û´®¸ñʽ
                         */
                        host = address.getHostAddress();
                }
               
                public void run(){
                        PrintWriter pw = null;
                        try {                       
                                /*
                                 * InputStream getInputStream()
                                 * SocketÌṩµÄ¸Ã·½·¨¿ÉÒÔ»ñȡһ¸öÊäÈëÁ÷£¬
                                 * ͨ¹ý¸ÃÁ÷¿Í»§¶ÁÈ¡µ½Ô¶¶Ë¼ÆËã»ú·¢Ë͹ýÀ´
                                 * µÄÊý¾Ý¡£
                                 */
                                InputStream in = socket.getInputStream();
                                InputStreamReader isr
                                        = new InputStreamReader(in,"UTF-8";
                                BufferedReader br
                                        = new BufferedReader(isr);
                               
                                /*
                                 * ͨ¹ýSocket»ñÈ¡Êä³öÁ÷£¬ÓÃÓÚ½«Êý¾Ý·¢ËÍ
                                 * ¸ø¿Í»§¶Ë
                                 */
                                OutputStream out = socket.getOutputStream();
                                OutputStreamWriter osw
                                        = new OutputStreamWriter(out,"UTF-8";
                                pw = new PrintWriter(osw,true);
                               
                                /*
                                 * ½«¸Ã¿Í»§¶ËµÄÊä³öÁ÷´æÈëµ½¹²Ïí¼¯ºÏÖÐ
                                 *
                                 * ÓÉÓÚ¶à¸öÏ̶߳¼»áµ÷Óøü¯ºÏµÄadd·½·¨ÏòÆäÖÐ
                                 * Ìí¼ÓÊä³öÁ÷£¬ËùÒÔΪÁ˱£Ö¤Ḭ̈߳²È«£¬¿ÉÒÔ½«
                                 * ¸Ã¼¯ºÏ¼ÓËø¡£
                                 */
                                synchronized (allOut) {
                                        allOut.add(pw);
                                }
                               
                               
                               
                               
                                sendMessage(host+"ÉÏÏßÁË!,µ±Ç°ÔÚÏß"+allOut.size()+"ÈË";
                               
                                String message = null;
                                while((message = br.readLine())!=null){
//                                        System.out.println(host+"˵:"+message);
                                        //»Ø¸´¸øµ±Ç°¿Í»§¶Ë
//                                        pw.println(host+"˵:"+message);
                                       
                                        sendMessage(host+"˵:"+message);
                                }
                               
                               
                        } catch (Exception e) {
                               
                        } finally{
                                //´¦Àí¿Í»§¶Ë¶Ï¿ªÁ¬½ÓÒÔºóµÄ¹¤×÷
                               
                                synchronized (allOut) {
                                        //½«¸Ã¿Í»§¶ËµÄÊä³öÁ÷´Ó¹²Ïí¼¯ºÏÖÐɾ³ý
                                        allOut.remove(pw);
                                }
                               
                               
                                sendMessage(host+"ÏÂÏßÁË!,µ±Ç°ÔÚÏß"+allOut.size()+"ÈË";
                               
                                if(socket != null){
                                        try {
                                                socket.close();
                                        } catch (IOException e) {
                                                e.printStackTrace();
                                        }
                                }
                        }
                }
        }
       
}
¿¼ÂǵÄʱºòÄãÓÖµôÁËǽÉÏ
4Â¥2018-01-12 10:45:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ǰ¿Çµµ°¸

ľ³æ (СÓÐÃûÆø)

»òÐíÄã¿ÉÒÔÔÚÍøÉÏÕÒµ½exe»òÕßapp
¿¼ÂǵÄʱºòÄãÓÖµôÁËǽÉÏ
5Â¥2018-01-12 10:46:33
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ ×Óľ‚Ü µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 274Çóµ÷¼Á +4 ɽ°¢Âû 2026-04-07 4/200 2026-04-08 09:49 by eyeliyang
[¿¼ÑÐ] Ò»Ö¾Ô¸211£¬0703»¯Ñ§305·ÖÇóµ÷¼Á +15 ÑÏÎ÷Î÷Ï· 2026-04-06 19/950 2026-04-08 09:17 by oooqiao
[¿¼ÑÐ] ²ÄÁÏ¿ÆÑ§Ó빤³Ì320Çóµ÷¼Á£¬080500 +10 »Æ¹ÏζÊíÆ¬ 2026-04-06 10/500 2026-04-08 09:08 by oooqiao
[¿¼ÑÐ] 0854µç×ÓÐÅÏ¢319Çóµ÷¼Á£¨½ÓÊÜ¿çרҵµ÷¼Á£© +5 ÐÇÐDz»Õ£ÑÛà¶ 2026-04-05 6/300 2026-04-07 22:16 by hemengdong
[¿¼ÑÐ] 269Çóµ÷¼Á +3 °¡°¡ÎÒÎÒ 2026-04-07 3/150 2026-04-07 18:25 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 318Çóµ÷¼Á +5 ÀîÇàɽɽɽ 2026-04-07 5/250 2026-04-07 18:24 by À¶ÔÆË¼Óê
[»ù½ðÉêÇë] ÇëÎʹ²Í¬Í¨Ñ¶ºÍ¹²Í¬Ò»×÷µÄÈϿɶÈÎÊÌâ 10+5 psa1234 2026-04-01 11/550 2026-04-07 16:57 by caiqing
[¿¼ÑÐ] Ò»Ö¾Ô¸ÎäÀí³µÁ¾×¨Ë¶×Ü·Ö 281 Çóµ÷¼Á +4 Éϰ¶Ñо¿Éú. 2026-04-02 4/200 2026-04-07 09:52 by ¼ÓÓÍÏòδÀ´°¡
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉϺ£º£Ñó´óѧ083200ʳƷѧ˶£¬Çóµ÷¼Á£¬½ÓÊÜÆäËûרҵ +9 whatÕÅ 2026-04-01 11/550 2026-04-07 09:45 by momoð©
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +5 СÁõͬѧ߹߹ 2026-04-06 5/250 2026-04-06 18:34 by sherry_1901
[¿¼ÑÐ] Çóµ÷¼Á +5 wos666 2026-04-03 5/250 2026-04-06 10:13 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358Çóµ÷¼Á +6 cs0106 2026-04-05 6/300 2026-04-05 16:34 by imissbao
[¿¼ÑÐ] ÉúÎïѧ308·ÖÇóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£© +8 ÏàÐűػá¹ââÍòÕ 2026-04-05 10/500 2026-04-05 12:19 by Hdyxbekcb
[¿¼ÑÐ] ¿É¿çרҵµ÷¼Á +3 ÖÜµÄµÃµØ 2026-04-04 6/300 2026-04-04 22:21 by barlinike
[¿¼ÑÐ] 342Çóµ÷¼Á +3 Liang7111 2026-04-04 5/250 2026-04-04 19:47 by dongzh2009
[¿¼ÑÐ] ×Ü·Ö328ÉúÎïÓëÒ½Ò©¿¼ÊýѧÇóµ÷¼Á +7 aaadim 2026-04-02 9/450 2026-04-03 22:53 by syh9288
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖйúʯÓÍ´óѧ»¯Ñ§¹¤³Ì323·ÖÇóµ÷¼Á +4 »¯¹¤×¨Ë¶323·Ö 2026-04-03 6/300 2026-04-03 22:12 by dongzh2009
[¿¼ÑÐ] ¿¼Ñе÷¼Á +3 Draa 2026-04-03 3/150 2026-04-03 17:37 by hgwz7468
[¿¼ÑÐ] 293Çóµ÷¼Á +4 çæçæÀÖ 2026-04-02 4/200 2026-04-02 20:10 by 6781022
[¿¼ÑÐ] »¯Ñ§¹¤³Ìר˶324·Ö£¬Ò»Ö¾Ô¸Öйú¿óÒµ´óѧÇóµ÷¼Á +7 ¹¢¹¢1314 2026-04-01 7/350 2026-04-02 07:40 by ÉÐË®¸óÖ÷
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û