可以啊!
我以前做过类似的程序~~
在同一台机器上可以同时启动一个server,一个client的啊。
我以前做过类似的程序~~
在同一台机器上可以同时启动一个server,一个client的啊。
解决方案 »
- java 读取文件
- 为什么在Win7中运行Jar文件时会找不到主类
- 关于BufferedImage.getSubimage(...)裁图的问题,哪位高手能帮我解决下
- 类和Object关系的问题
- 特别奇怪的的问题 大家都来发表一下意见
- 各位高手过来看看这是用什么加密算法加密的.
- 用什么流把double型的数据写到文件当中去比较好(在线)
- 是高手就进来!!(在线等待,高分相赠!)
- 有点钱,想开个软件公司,不知道做什么项目好,郁闷......(好建议给100分)
- JBUILDER使用心得交流
- Applet在读取文件时经常遇到access denied,如何解决?
- 关于一个登陆验证的问题~~~~~~~~~~~~~~
一台机器上当然可以同时启动一个server和一个client的但我想做的是,控制该client或server在同一时刻只启动一个,简单的说,就是一个应用程序的单模式问题,应该是可以的,好像应用程序启动后写一下注册表,然后运行同一个应用程序时判断注册表,然后做一些控制,好像是这样,但我没做过,不知道高手们能不能给点demo代码,谢谢大家了!
我的意思是对于client只启一个,server也只启一个,不是只启两者中的一个。
: zhaoao5958(不会游泳的鱼)
怎样解决啊,请不吝赐教。感谢大家的关注和发言!
回环ip本来就是经常用来单机测试的。
能不能说清楚啊?什么是回环IP啊?怎么用呢?谢谢了,真的很感谢
(我的意思是对于client只启一个,server也只启一个,不是只启两者中的一个。)你又说不是本机通讯,搞不明白你想做的是什么。
举一个例子,我们运行ie,启动一次会打开一个ie窗口,启动两次会打开两个ie窗口,三次会有三个,依次类推;但是如果我们运行ultraedit,执行一次ultraedit.exe会运行一个ultraedit.exe,执行两次ultraedit.exe也只会打开同样的那个ultraedit.exe,三次也是一样,也只会打开同样的那个ultraedit.exe,依次类推。
我想要做的事情,就是使我的client、server都能像ultraedit.exe一样,这样进行单线程或是单模式通讯,不知道这样说对不对?
不知道我说得清不清楚,可能我有些概念还不是很清楚,所以表达起来有些困难,还请高手指教。
server端程序跑了一个之后,第二个在同一台机器上应该是跑不起来的。具体原因我也不太清楚,但我的一个server端程序在服务器跑起来之后,在跑一个就跑不起来。我估计是端口会有冲突,
我给你我的code,你再分析一下吧。public class ControlMain{public static boolean tmpFlag=false;
public synchronized static void SetSystemExit(){
tmpFlag=true;
}
public synchronized static boolean SystemExit(){
return tmpFlag;
}public static void main(String args[]){
System.out.println("系统开始运行了");
// MsgFormat msgFormat=new MsgFormat();
// Queue userQueue = new Queue();
Queue listenQueue=new Queue();
Queue cortrolQueue = new Queue();
/* StartCortrolQueue startCortrolQueue = new StartCortrolQueue(userQueue); // 初始化监控队列
startCortrolQueue.setDaemon(true);
startCortrolQueue.start();
System.out.println("ListenDaemon");
*/ CheckUserLogin checkUserLogin = new CheckUserLogin(); // 下面三行是启动检验用户合法性线程
checkUserLogin.setDaemon(true);
checkUserLogin.start();
ListenDaemon listener=new ListenDaemon(listenQueue);//下面三行是启动消息监听线程,并且设置成为daemon
listener.setDaemon(true);
listener.start();
System.out.println("ListenCortrolDaemon");
ListenCortrolDaemon listenerCortrol=new ListenCortrolDaemon(cortrolQueue);//下面三行是启动监控订阅表监听线程,并且设置成为daemon
listenerCortrol.setDaemon(true);
listenerCortrol.start();
MainLogicThread mainLogicThread=new MainLogicThread(listenQueue,cortrolQueue);//下面三行是启动逻辑处理线程,并且设置成为daemon
mainLogicThread.setDaemon(true);
mainLogicThread.start();
System.out.println("系统初始化结束了");
while (!SystemExit()){
try{
Thread.sleep(500);
}catch(Exception de){
}
}//end of while
try{
Thread.sleep(10000);
}catch(Exception de){
}
System.out.println("系统退出了"); }//end of main
}//end of class CortrolMain