<b id="yt35u"></b>
  • <b id="yt35u"></b>

  • <tt id="yt35u"><form id="yt35u"></form></tt>
    <button id="yt35u"></button>

    <button id="yt35u"></button>

    <strike id="yt35u"><dfn id="yt35u"></dfn></strike>

    <i id="yt35u"></i>
    1. <tt id="yt35u"></tt>
      <b id="yt35u"><sub id="yt35u"><tr id="yt35u"></tr></sub></b>

      教育路上

      全國站>Java>Java基礎>java在線聊天室服務端Server類的創建
      學員需求

      java在線聊天室服務端Server類的創建

      摘要:java在線聊天室服務端Server類的創建。以下是我們為大家整理的,相信大家閱讀完后肯定有了自己的選擇吧。

      2021-06-29 11:53網絡推薦

      發布時間:
      2021-06-29 11:53
      信息來源:
      網絡推薦
      瀏覽次數:
      1720
      java在線聊天室服務端Server類的創建

      package aaa;
      
      import java.awt.*;
      import java.awt.event.*;
      import java.io.BufferedReader;
      import java.io.IOException;
      import java.io.InputStreamReader;
      import java.io.PrintWriter;
      import java.net.InetAddress;
      import java.net.ServerSocket;
      import java.net.Socket;
      import java.util.HashMap;
      import java.util.Set;
      
      import javax.swing.*;
      
      public class server  extends JFrame  {
      	private ServerSocket serversocket;
      	private Socket client; 
      	private int ports=8080;
      	private HashMap<String,Socket> userlist=new HashMap();
      	
      	server(){
      		gui();
      		listion();
      		waitsocket();
      		flashchart();
      	}
      	
      	//圖形界面
      	void gui(){
      		JFrame f=new JFrame("服務端");
      		f.setSize(300,200);
      		f.setLocation(300,200);
      		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      		f.setVisible(true);
      	}
      	
      	//服務端
      	void listion() {
      		try {
      			serversocket=new ServerSocket(ports);	
      		} catch (IOException e) {
      			e.printStackTrace();
      		}
      	}
      	
      	//等待客戶端連接
      	void waitsocket() {
      		new Thread() {
      			public void run() {
      				while(true) {
      					System.out.println(serversocket);
      					if(serversocket!=null) {					
      					try {
      						client= serversocket.accept();
      					}catch(Exception e1) {
      						return;
      					}
                          }	
      			  }
      		  }
      	  }.start();	
      	}
      	
      	void flashchart(){		
      		new Thread() {
      			public void run() {
      				while(true) {
      					System.out.println(client);
      					if(client!=null) {
      						String str;
      						try {
      							BufferedReader reader = new BufferedReader(new InputStreamReader(client  
      				                    .getInputStream()));  
      							str=reader.readLine();
      						}catch(Exception e1) {
      							return;
      						}
      						
      					String[] arr=str.split("@");
      	                String usrename = arr[0];  
      	                String message = arr[1]; 
      	                String status = arr[2]; 
      					//zhangshan@@reg
      					//zhangshan@聊天內容@all
      					//zhangshan@聊天@wang
      	                if(status.equals("reg")) {
      	                	Set<String> keyset=userlist.keySet();
      						int a=0;
      	                	for(String user:keyset) {	
      							if(user.equals(usrename)) {
      								a=1;
      								break;
      							}
      						}
      	                	if(a==0) {
      	                		userlist.put(usrename, client);
      	                	}
      	                	String userflash=null;
      	                	for(String user:keyset) {	
      	                		userflash=userflash+"@"+user;
      						}
      	                	userflash=userflash+"@userlist";
      	                	for(String user:keyset) {	
      		                	try {	
      		                	PrintWriter writer = new PrintWriter(userlist.get(user).getOutputStream()); 
      		                	writer.println(userflash);  
      		                	writer.flush(); 
      		                	}catch(Exception e1) {
      								return;
      							}
      	                	}
      	                }else if(status.equals("所有人")) {
      	                	Set<String> keyset=userlist.keySet();
      	                	for(String user:keyset) {	
      		                	try {	
      		                	String allchart=usrename+"@對所有人說:"+message+"@群發聊天";
      		                	PrintWriter writer = new PrintWriter(userlist.get(user).getOutputStream()); 
      		                	writer.println(allchart);  
      		                	writer.flush(); 
      		                	}catch(Exception e1) {
      								return;
      							}
      	                	}                	
      	                }else{
      	                	Set<String> keyset=userlist.keySet();
      	                	for(String user:keyset) {	
      		                	try {
      		                	if(status.equals(user)) {
      			                	String allchart=usrename+"@對"+status+"說:@"+message;
      			                	PrintWriter writer = new PrintWriter(userlist.get(user).getOutputStream()); 
      			                	writer.println(allchart);  
      			                	writer.flush(); 
      		                	}
      		                	}catch(Exception e1) {
      								return;
      							}
      	                	}    						
      	                }					 
                      }	
      			   }
      			}
      		}.start();
      	}
      	
      	public static void main(String[] args) {
      		new server();
      
      	}
      
      }
      

      上一篇:
      java在線聊天室chart類的創建
      下一篇:
      java聊天室案例
      標簽:
      網友評論
      發布評論

      訪客的評論 2023/11/08 20:53

      文中描述的是準確的嗎,如何報名!

      相關推薦
      我也來發表評價關閉
      我對該內容的評價:
      0
      評價500
      驗證碼: 看不清 換一張
      提交 (匿名發布,無須擔心別人知道您的身份)
      學校免費發布信息關閉
      我們審核后會盡快展示,如有圖片請發郵件到:edu63@foxmail.com

      姓      名:

      內      容:

      手機號碼:

      驗  證  碼:  換一張

      確認提交
      填寫需求信息關閉
      我們會根據您的需求匹配并審核留言

      姓      名:

      意向城市:

      留      言:

      手機號碼:

      驗  證  碼:  換一張

      確認提交
      完善補充本文信息關閉
      非常感謝您幫助完善補充本文信息


       換一張

      確認提交
      女班长给我看她的小内内

        <b id="yt35u"></b>
    1. <b id="yt35u"></b>

    2. <tt id="yt35u"><form id="yt35u"></form></tt>
      <button id="yt35u"></button>

      <button id="yt35u"></button>

      <strike id="yt35u"><dfn id="yt35u"></dfn></strike>

      <i id="yt35u"></i>
      1. <tt id="yt35u"></tt>
        <b id="yt35u"><sub id="yt35u"><tr id="yt35u"></tr></sub></b>