添加配置文件 2025年2月22日17:24:50

master
qmstyle 2025-02-22 17:25:00 +08:00
parent bb3ffb1440
commit b8a9c7d1e7
4 changed files with 150 additions and 4 deletions

View File

@ -2,6 +2,7 @@ package com.zhangmeng;
import com.zhangmeng.service.impl.PingRouter;
import com.zhangmeng.service.impl.ServerImpl;
import com.zhangmeng.utils.Globalobj;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@ -19,10 +20,15 @@ public class TcpApplication {
@Override
public void run() {
ServerImpl.Config config = new ServerImpl.Config();
config.setName("SimpleServer");
config.setIPVersion("IPv4");
config.setIP("127.0.0.1");
config.setPort(9999);
//读取配置文件
Globalobj instance = Globalobj.getInstance();
config.setName(instance.getName());
config.setIPVersion("tcp4");
config.setIP(instance.getHost());
config.setPort(instance.getTcpPort());
ServerImpl server = new ServerImpl();
server.setConfig(config);
server.AddRouter(new PingRouter());

View File

@ -48,6 +48,7 @@ public class ServerImpl implements Server {
@Override
public void Start() {
log.info("[START] Server listenner at Name: {}, IPVersion {}, is starting", config.getName(), config.getIPVersion());
log.info("[START] Server listenner at IP: {}, Port {}, is starting", config.getIP(), config.getPort());
try {
serverSocket = new ServerSocket(config.getPort());

View File

@ -0,0 +1,135 @@
package com.zhangmeng.utils;
import com.zhangmeng.service.Server;
import java.util.Properties;
/**
* @author zm
* @date 2025/2/22 17:01
* @version: 1.0
*/
public class Globalobj {
private static Globalobj instance ;
private Globalobj() {
}
private Server TcpServer; //当前Zinx的全局Server对象
private String Host; //当前服务器主机IP
private int TcpPort; //当前服务器主机监听端口号
private String Name; //当前服务器名称
private String Version; //当前Zinx版本号
private int MaxPacketSize; //都需数据包的最大值
private int MaxConn; //当前服务器主机允许的最大链接个数
// /读取用户的配置文件
public static void Reload() {
Properties prop = new Properties();
try {
prop.load(Globalobj.class.getResourceAsStream("/server.properties"));
instance.Host = prop.getProperty("Host");
instance.Name = prop.getProperty("Name");
String tcpPort = prop.getProperty("TcpPort");
if (tcpPort != null && !tcpPort.isEmpty()){
instance.TcpPort = Integer.parseInt(tcpPort);
}
String version = prop.getProperty("Version");
if (version != null && !version.isEmpty()){
instance.Version = version;
}
String maxPacketSize = prop.getProperty("maxPacketSize");
if (maxPacketSize != null && !maxPacketSize.isEmpty()){
instance.MaxPacketSize = Integer.parseInt(maxPacketSize);
}
String maxConn = prop.getProperty("MaxConn");
if (maxConn != null && !maxConn.isEmpty()){
instance.MaxConn = Integer.parseInt(maxConn);
}
} catch (Exception e) {
e.printStackTrace();
}
}
// public static void main(String[] args) {
// getInstance();
// System.out.println(instance.getName());
// }
public static Globalobj getInstance() {
//初始化GlobalObject变量设置一些默认值
instance = new Globalobj();
instance.setName("ZinxServerApp");
instance.setVersion("V0.4");
instance.setTcpPort(7777);
instance.setHost("0.0.0.0");
instance.setMaxConn(12000);
instance.setMaxPacketSize(4096);
Reload();
return instance;
}
public Server getTcpServer() {
return TcpServer;
}
public void setTcpServer(Server tcpServer) {
TcpServer = tcpServer;
}
public String getHost() {
return Host;
}
public void setHost(String host) {
Host = host;
}
public int getTcpPort() {
return TcpPort;
}
public void setTcpPort(int tcpPort) {
TcpPort = tcpPort;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getVersion() {
return Version;
}
public void setVersion(String version) {
Version = version;
}
public int getMaxPacketSize() {
return MaxPacketSize;
}
public void setMaxPacketSize(int maxPacketSize) {
MaxPacketSize = maxPacketSize;
}
public int getMaxConn() {
return MaxConn;
}
public void setMaxConn(int maxConn) {
MaxConn = maxConn;
}
}

View File

@ -0,0 +1,4 @@
Name=demo-server
Host="127.0.0.1"
TcpPort=9999
MaxConn=3