大侠快救我,JBuilder 7,怎么实现ServerSocket编程,一些小问题,谢谢(100分)

  • 主题发起人 zqs10597249
  • 开始时间
Z

zqs10597249

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现让服务器程序java类运行,就是运用运行起个监听程序java类?
我这边有个java类,服务端,我不知道什么时候调用运行和配置等
请大侠指导,谢谢
 
与其他有main的类一样运行,不太明白你的意思。
 
zhiyue大侠
我整个工程运行起来的时候
要什么时候运行,比如我下面的代码
Socket socket = srvSocket.accept();就死在那边了
我这段代码要什么时候运行?
public static void main(String args[]) throws IOException
{

//GeServerSocket serverSocket=null;
GeProperties prop=null;
ServerSocket srvSocket=null;
String hostname=null;
String configFile=null;
int port;
String IP;
String ServerID;
//Socket socket=null;
GeExecutionMgr executionMgr=null;
GeQueueMgr queueMgr=null;
//if (args.length != 1)
//{
// System.out.println("Usage: java StartServer configfile");
// System.exit(0);
//}
//configFile = args[0];
configFile="c:/ServerConfig.txt";
prop = new GeProperties(configFile);
try {
// start the server socket, listening on some port
//port = prop.getPropertyInt(GeConstants.ServerPort, 7000);
port = prop.getPropertyInt("7000", 7000);
srvSocket = new ServerSocket(7000, 200);
IP=prop.getProperty(GeConstants.IP);
//ServerID=IP+":"+port;
ServerID="127.0.0.1"+":"+port;
GeSessionRegistery.sessions.startSession(ServerID,prop);
System.out.println("SERVER DEBUG: Starting FrontEnd Server Listening On : "+port);
int status=DbManager.InitDBPool(prop);
Log.initLog(prop.getProperty(GeConstants.LOG_FILE));
//Log.initLog(prop.getProperty("c:/server.log"));
}
catch (Exception e)
{ // quit if we can not start the server socket
e.printStackTrace();
System.exit(0);
}

while (true)
{
try {
// accept socket request
Socket socket = srvSocket.accept();
System.out.println("SERVER DEBUG: Accepting Socket Connection From Web Server!");
System.out.println("SERVER DEBUG: Starting Working ThreadPool and Waiting for Request!");
//init reqeust and response Queue Manager;
queueMgr=new GeQueueMgr();
//start thread pooling;
executionMgr=new GeExecutionMgr(prop,queueMgr, GeWnCommandFactory.commandFactory);
// spawn a slave socket to each new connection
GeServerSocket serverSocket = new GeServerSocket(socket,queueMgr);
}
catch (Exception e)
{
e.printStackTrace();
return;
}
}
}
 
这个类我想在用户登陆验证前直接调用这个类的main函数
刚才那个类StartServer
<%@ page language="java" import="dataset.*" %>
我是这样调用的
<%
StartServer StartServer1 = new StartServer();
StartServer1.main(null);
%>
然后象上个在Socket socket = srvSocket.accept();等待用户请求时就死了
 
没有客户端的请求,当然服务端要一直运行,等待请求了。
 
可是我在一个工程里面
怎么单步跟踪?不多停在那边了
是不是还要建一个webapp象servlet的用法一样?
 
zhiyue大侠帮我看我的另一个问题,谢谢
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=1996238
 
发给你了。
查收。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部