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

📄 server.java

📁 声色幻想webgame 多人联网webgame-javaRPG游戏 实现 买东西 仓库 聊天 打怪 交易 功能! 1.配置java环境
💻 JAVA
字号:
/**
 * @(#)Application.java
 * 
 * @author soda  E-mail:sujun10@21cn.com
 * @version 1.0
 * <br>Copyright (C), 2007 soda.C
 * <br>This program is protected by copyright laws.
 * <br>Program Name:FlashSyncServer
 * <br>Date:2007.1
 */
package org.blue.net;

import java.net.ServerSocket;
import java.net.Socket;
import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;

import org.blue.remote.FlashObject;
import org.blue.global.Application;
import org.blue.global.SystemCommon;
import org.blue.remote.RemoteFactory;
import org.blue.remote.Client;
import org.blue.response.ClientResponse;
import org.blue.util.CheckObjectType;

/**
 * 服务启动主类,启动服务器的socket服务
 * 响应用户的socket连接
 */
public class Server 
{
	private ClientResponse response;
	//默认端口是5000
	private int port = 5000;
	private SystemCommon system;
	
	public Server()
	{
		response = ClientResponse.getClientResponse();
		system = SystemCommon.getSystemCommon();
	}
	
	public Server(int port)
	{
		this.port = port;
		response = ClientResponse.getClientResponse();
	}
	
	public void setPort(int port)
	{
		this.port = port;
	}
	
	public void startServer()
	{
		PrintWriter os = null;
		BufferedReader br = null;
		try
		{
			ServerSocket ss = new ServerSocket(port);
			System.out.println("启动服务器了!");
			int i = 1;
			while(true)
			{
				Socket socket = ss.accept();
				String id = "flashSysncServer1.0 Bate" + i;
				//接受
				br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
				//发送
				os = new PrintWriter(socket.getOutputStream());
				//等待客户端的第一条信息(检验该用户是否可以成功登陆的信息)
				String xml = br.readLine();
				//System.out.println("xml:" + xml);
				Client client = RemoteFactory.getRemoteFactory().getClient();
				client.setPrintWriter(os);
				//标记,是否启动一个新的线程,默认是启动的
				boolean flag = true;
				//是否注册响应连接断开类
				if(system.getStartEndObject() != null)
				{
					response.onConect(client,xml);
					//如果结果不为空,则执行对应的结果
					if(system.getStart())
					{
						//通知客户端连接成功
						os.print(system.getMsg() + "\0");
						os.flush();
					}
					else
					{
						os.print(system.getMsg() + "\0");
						os.flush();
						flag = false;
					}
				}
				if(flag)
				{
					new ServerThread(id,br,os,client).start();
				}
				else
				{
					//回收资源
					br.close();
					os.close();
					client.clear();
				}
			}
		}
		catch(Exception e)
		{
			System.out.println("ServerSocket出现异常了!!" + e);
		}
	}
}

⌨️ 快捷键说明

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