⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server_pre_app_logic_layer.java

📁 局域网内聊天程序
💻 JAVA
字号:
//import java.awt.Button;
//import java.awt.Rectangle;
//import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//import javax.swing.JFrame;
import javax.swing.JOptionPane;

//import java.io.BufferedReader;
import java.io.IOException;
//import java.io.InputStreamReader;
//import java.io.PrintStream;
import java.net.*;


public class Server_pre_app_logic_layer extends Thread{
	
	ServerFace Face[] = new ServerFace[10];;
	static Server_pre_app_logic_layer severPreApp;
	Server_pre_app_logic_layer serverFace[];
	ServerSocket sskt;
	Server_application_service_layer socket[] = new Server_application_service_layer[10];
    int port;
    int i = 0,clientTotal = 0;
	
	public Server_pre_app_logic_layer()
	  {		
	    try {
	    	port = 2009;
	    	sskt = new ServerSocket(port);
	    }
	    catch(Exception ex) {
	      ex.printStackTrace();
	    }
	  }
	
	public static void main(String[] args)
    {
    	
    	severPreApp = new  Server_pre_app_logic_layer();
    	severPreApp.start();

    }
   
	public void run() {
		Face[i] = new ServerFace();
        Face[i].textArea2.append("等待连线......\n");

        while (true) {
            try {
            	socket[i] = new Server_application_service_layer(sskt.accept());
              	if(i!=0){
            		Face[i] = new ServerFace();
            	}
            	Face[i].textArea2.append("已连接\n");
            	ServerThread server = new ServerThread(socket[i],Face[i]);
            	server.start();
            	i++;
            } catch (IOException err) {
                	Face[i].textArea2.append(err.toString());
              }
            }
	   }
   }

	class ServerThread extends Thread{
		Server_application_service_layer s;
		ServerFace chat;
		String message;
		
		ServerThread(Server_application_service_layer s, ServerFace chat){
			this.s = s;
			this.chat = chat;
			//chat.setTitle(s.);
			this.chat.button_send.addActionListener(new Server_send_listener());
		}
		
		public void run(){
				while (true) {
                	try{
                		message = s.receiveMessage();
                		if(message=="disconnect"){
                			System.exit(0);
                		}
                		else{
                			chat.textArea2.append(message+"\n");
                		}
                	}
                	catch(IOException err) {
                		chat.textArea2.append(err.toString());
	                }
                }
			
			
		}
		
		class Server_send_listener implements ActionListener{
			public void actionPerformed(ActionEvent e){
				 if(chat.textArea1.getText().equals(""))
	             {
	               String ts="警告:消息不允许为空!^_^";
	               JOptionPane.showMessageDialog(null,ts,"警告",JOptionPane.WARNING_MESSAGE);
	             }
				 else{
					 try{
						 chat.textArea2.append("我>"+chat.textArea1.getText()+"\n");
						 s.sendMessage("server:" +chat.textArea1.getText());
						 chat.textArea1.setText("");
				      }
					 catch(Exception er)
					 {   
						 JOptionPane.showMessageDialog(null,"连接失败","提示",JOptionPane.WARNING_MESSAGE);
		                 System.out.println(er.toString());
					 }
				 }
			}
	  }// Server_send_listener        
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -