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

📄 chatserver.java~1~

📁 是一个关于JQQ小程序
💻 JAVA~1~
字号:
package jqq.server;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

import javax.swing.JOptionPane;

import jqq.msg.InfoMessage;

public class ChatServer
{
	ServerFrame frame;
	InfoMessage info;
	
	ServerSocket server ;
	Socket s ;
	ClinetThread ct;
	Thread thread;
	
	boolean bStart = false;
	boolean bConnect = false;
	//*****接受客户端发给服务器消息的变量******
	String strID = null;                 
	String strPW = null;
	String strNickName = null;
	String strIntroduce = null;
	String toID = null;
	String fromID = null;
	String ChatMsg = null;
	
	public void setServerFram(ServerFrame frame)
	{
		this.frame = frame;
		this.frame.jTexArea.setText("");
	}
	
	public void startServer(int port)
	{
		try
		{
			server = new ServerSocket(port);
			
//System.out.println(port);
			bStart = true;
		//try 
			//{
				s = server.accept();
			//} 
			//catch (Exception e) 
			//{
			//	e.printStackTrace();
			//}
				bConnect = true;
				ct = new ClinetThread(s);
				thread = new Thread(ct);
				thread.start();
//System.out.println("服务器启动..!");
		} 
		catch (Exception e)
		{
			JOptionPane.showMessageDialog(null,"出错,端口可能使用中,请关掉相关程序并重新运行服务器!");
			System.exit(0);
			e.printStackTrace();
		}
	}
	
/*	public void listen()
	{
		try 
		{
			s = server.accept();
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
		}
			bConnect = true;
			ct = new ClinetThread(s);
			thread = new Thread(ct);
			thread.start();
	}*/
	
	class ClinetThread implements Runnable   //线程类
	{
		private Socket s;
		private ObjectOutputStream objectOut = null;
		private ObjectInputStream objectIn = null;
			
		public 	ClinetThread(Socket s)
		{
			this.s = s;
			try
			{
				objectIn = new ObjectInputStream(s.getInputStream());
				objectOut = new ObjectOutputStream(s.getOutputStream());
			} 
			catch (IOException e)
			{
				e.printStackTrace();
			}
		}
		
		public void run() 
		{
			try
			{
				while(bConnect)
				{
					while(true)
					{
						info = (InfoMessage)objectIn.readObject();
						int mark = info.getMsgMark();
System.out.println(mark);
						if(mark==1)  	 //当是登陆消息编码时
						{
							landAccept();  
						}
						if(mark==2)		//当是注册消息编码时
						{
							registerAccept();
						}
						if(mark==3)		//当是聊天消息编码时
						{
							//ChatMessageAccept();
						}
					}		
				}
			}
			catch(Exception e)
			{
				try 
				{
					bConnect = false;
					if(objectIn!=null) objectIn.close();
					if(objectOut!=null) objectOut.close();
					if(s!=null) s.close();	
				}
				catch (IOException e1) 
				{
					e1.printStackTrace();
				}
			}
		}
		
		public void landAccept()    //登陆消息接受
		{
				strID = info.getID();
				strPW = info.getPW();
System.out.println(strID);
System.out.println(strPW);
			
		}
		
		public void registerAccept()  //注册消息接受
		{
				strID = info.getID();
				strPW = info.getPW();
				strNickName = info.getNN();
				strIntroduce = info.getIntroduce();
System.out.println(strID);
System.out.println(strPW);
System.out.println(strNickName);
System.out.println(strIntroduce);
			 
		}
		
		public void ChatMessageAccept() //聊天消息接受
		{
			
		}
	}
}

⌨️ 快捷键说明

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