免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
簡單聊天程序java socket
import java.awt.*;
import java.net.*;
import java.io.*;
import java.awt.event.*;
public class Client extends Frame implements Runnable
{
    private TextField nameBox=new TextField("<姓名>");
    private TextArea msgView=new TextArea();
    private TextField sendBox=new TextField();
    private BufferedReader reader;
    private PrintWriter writer;
    private Socket socket;
    public Client(String title)
    {
        super(title);
        msgView.setEditable(false);
        add(nameBox,"North");
        add(msgView,"Center");
        add(sendBox,"South");
        sendBox.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent ae)
            {
                try{
                    writer.println(nameBox.getText()+":"+sendBox.getText());
                    sendBox.setText("");
                }catch(Exception ie){}
            }
        });
        pack();       
    }

public void run()
{
    while(true){
        try{
            msgView.append(reader.readLine()+"\n");
        }catch(IOException ie){
        }
    }
}
private void connect()
{
    try{
        msgView.append("和服務(wù)器套接字連接\n");
       socket=new Socket("127.0.0.1",2554);
        msgView.append("聊天就緒\n");
        reader=new BufferedReader(
            new InputStreamReader(socket.getInputStream()));
        writer=new PrintWriter(socket.getOutputStream(),true);
           new Thread(this).start();       
    }catch(Exception e){
        msgView.append("連接失敗");
    }
}
public static void main(String[] args)
{
    Client client=new Client("聊天");
    client.setVisible(true);
    client.connect();
}
}













import java.net.*;
import java.io.*;
import java.util.*;
public class Server
{
    private ServerSocket server;
    private BManager bMan=new BManager();
    public Server(){};
    void startServer()
    {
        try
        {
            server=new ServerSocket(2554);
            System.out.println("服務(wù)器套接字創(chuàng)建完畢");
            while(true)
            {
               Socket socket=server.accept();
                new Chat_Thread(socket).start();
                bMan.add(socket);
                bMan.sendClientInfo();
            }
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }
    public static void main(String [] args)
    {
        Server server=new Server();
        server.startServer();
    }
    class Chat_Thread extends Thread
    {
        Socket socket;
        private BufferedReader reader;
        private PrintWriter writer;
        Chat_Thread(Socket socket)
        {
            this.socket=socket;
        }
        public void run()
        {
            try
            {
                reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                writer=new PrintWriter(socket.getOutputStream(),true);
                String msg;
                while((msg=reader.readLine())!=null)
                {
                    System.out.println(msg);
                    bMan.sendToAll(msg);
                }
            }catch(Exception e){
            }finally{
                try{
                    bMan.remove(socket);
                   if(reader!=null)reader.close();
                   if(writer!=null)writer.close();
                   if(socket!=null)socket.close();
                   reader=null;writer=null;socket=null;
                   System.out.println("客戶機(jī)離開");
                  
                   bMan.sendClientInfo();
                }catch(Exception e){}
            }
        }
    }
    class BManager extends Vector
    {
        BManager(){}
        void add(Socket sock)
        {
            super.add(sock);
        }
        void remove(Socket sock)
        {
            super.remove(sock);
        }
        synchronized void sendToAll(String msg)
        {
            PrintWriter writer=null;
            Socket sock;
            for(int i=0;i<size();i++)
            {
                sock=(Socket)elementAt(i);
                try
                {
                    writer=new PrintWriter(sock.getOutputStream(),true);
                }catch(IOException ie){}
                if(writer!=null)writer.println(msg);
            }
        }
        synchronized void sendClientInfo()
        {
            String info="當(dāng)前在線人數(shù):"+size();
            System.out.println(info);
            sendToAll(info);
        }
    }
}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java簡單的客戶端與服務(wù)器的建立與通信
服務(wù)器端應(yīng)用程序
JAVA實現(xiàn)遠(yuǎn)程文件讀取
java socket編程的一個例子(線程池)
Java IO: PrintWriter
Bio、Nio、Aio的用法系列之BIO(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服