怎样在eclipse里面同时运行2个java

我写了一个SocketServer.java一个SocketClient.java,就是类似一个聊天的程序,一个客户端,一个服务器端。但是每次只能运行一个java,百度了好多也没有得到解决办法,就是想让客户端输入数据,服务器端也会显示数据。类似于QQ聊天一样,就是互相发数据,怎么办啊?

在eclipse里新建一个项目,把这两个java文件放在一个文件夹下面,然后拖拽到eclipse项目的下面

然后把其中一个类设为主类,例如,main函数写在SocketServer.java中,然后在main函数实例化SocketClient这两个个类,就可以调用两个类里的方法,也就是同时运行多个java类了

根据你的情况,我认为你这两个程序可以设为两个线程
public class SocketServer
{
static Thread s=new Thread(new Runnable() {
public void run(){
//这里放server的方法
}
});
public static void main(String[] args){
SocketServer.s.start();
SocketClient.c.start();
}
}
public class SocketClient
{
static Thread c=new Thread(new Runnable() {
public void run(){
//这里放Client的方法
}
});
}追问

什么意思? “拖拽到eclipse项目的下面”?

追答

把图标拖到eclipse项目图标那个位置,就像你把图标拖到回收站里那样拖

追问

可不可以先让一个server的线程sleep一会儿再运行的?接着运行client,这样算是server在运行吗?算是同时运行吗?

追答

先运行server,再运行客户端是吧?

public class SocketServer
{
static Thread s=new Thread(new Runnable() {
public void run(){
…… //这里放server的方法
}
});
public static void main(String[] args){
SocketServer.s.start();
SocketClient.c.start();
}
}
public class SocketClient
{
static Thread c=new Thread(new Runnable() {
public void run(){
try{
SocketServer.s.join();
}
catch(InterruptedException e){
e.printStackTrace();
}
……//这里放Client的方法
}
});
}

调用线程的join()方法,让server线程先启动完毕,再启动client的线程

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
主函数所在类必须是public,而public类则必须定义在以该类名为文件名的java文件中。
所以你要同时运行两个主函数,就要独立的写两个java文件,而不能这样放在一起。
首先:分成两个文件
其次:public class StaticTest 必须在 StaticTest.java 这个文件内
Employee.java 里面把主函数注释了
如果不注释,他就不运行StaticTest.java里面的主函数..
如果注释了,就报错误.
那么Eclipse在Run的菜单上,把之前自动生成的运行配置项(名字大概是:Run Configuration...)先手工删除掉,然后重新试试。
第2个回答  2012-03-01

我截了个我的工程图片 你看看就知道怎么用了

追问

我知道啊,就算是分开2个项目放,也不能一个发送,一个接受,同时运行啊。。。

追答

肯定是可以同时运行的啊,不然我怎么调试呢?
而且就算在一个项目里面也是可以同时运行的,如果你想查看当前你运行着哪些程序,你可以通过Console里面的Display Selected Console按钮来选择,也可以直接在Debug里面查看

追问

额,好吧,我看进程管理器,看到那个连接已经建立了,你的项目:假如说Client发送了一条信息,Server端打印吗?

如果打印,就需要在客户端和服务器端分别打印一次,怎么样可以观察到这个打印输出的语句。
(客户端用system.in输入)

追答

这两个输出语句你都可以在Console里面看到,只是他们显示在不同的框里面,你通过Console里面的Display Selected Console按钮就可以选择你要查看程序的运行结果了

第3个回答  2018-08-07
我所知道的它很麻烦,需要在eclipse上先打开两个控制台,再将两个程序都运行,再分别让每个控制台显示不同的程序输出内容。而且在不停输出过程中要不停设置控制台的显示。具体步骤说起来更麻烦,就不说了。
所以就不如直接打开两个不同的终端(windows下用命令提示符),在终端里面分别运行这两个程序,交互起来也方便,一切都万事大吉了。
第4个回答  2012-03-01
就直接运行就行,会有两个控制台,你切换就看到了