Java 我应该如何运行服务器/客户端代码?
我刚开始写我的第一个服务器/客户端代码,这是一个简单的聊天程序,但我不知道该如何运行代码 有一个名为Server-Side的.class文件和一个名为clientSide的.class文件,它们应该在不同的项目中吗?我应该如何运行它,使它们都有一个连接在一起?已经谢谢了,下面是代码的一部分Java 我应该如何运行服务器/客户端代码?,java,networking,client,Java,Networking,Client,我刚开始写我的第一个服务器/客户端代码,这是一个简单的聊天程序,但我不知道该如何运行代码 有一个名为Server-Side的.class文件和一个名为clientSide的.class文件,它们应该在不同的项目中吗?我应该如何运行它,使它们都有一个连接在一起?已经谢谢了,下面是代码的一部分 public void runServer() { try { server = new ServerSocket(); while(t
public void runServer()
{
try {
server = new ServerSocket();
while(true)
{
try
{
connection = server.accept();
try{
output = new ObjectOutputStream(connection.getOutputStream()) ;
output.flush();
input = new ObjectInputStream(connection.getInputStream()) ;
sendData(message) ;
do
{
try{
message = (String) input.readObject() ;
System.out.println(message);
}catch(Exception e)
{
e.printStackTrace() ;
}
}while(!message.equals("end"));
}catch(EOFException e)
{
e.printStackTrace() ;
}
}catch(IOException e)
{
e.printStackTrace() ;
}
finally {
try{
output.close();
input.close();
connection.close() ;
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}catch(Exception e )
{
e.printStackTrace();
}
}
以下是客户端:
public void runClient()
{
try{
connect() ;
}catch(Exception e)
{
e.printStackTrace();
}
try{
output = new ObjectOutputStream(client.getOutputStream()) ;
output.flush() ;
input = new ObjectInputStream(client.getInputStream()) ;
}catch(IOException e)
{
e.printStackTrace() ;
}
do
{
try{
message = (String) input.readObject() ;
System.out.println(message);
}catch(Exception e)
{e.printStackTrace();}
}while(!message.equals("end")) ;
}
public void connect() throws UnknownHostException, IOException
{
client = new Socket(InetAddress.getByName(chatServer),12345) ;
}
首先运行服务器
java服务器
然后运行客户端:
java客户端
但是我没有看到您的服务器绑定到端口12345。由于该语句,客户端将尝试连接到端口12345上的服务器
client = new Socket(InetAddress.getByName(chatServer),12345) ;
如果端口不匹配,将无法建立连接
要将服务器绑定到端口12345,请尝试以下操作:
server = new ServerSocket(12345);
不是默认的构造函数。有一个非常好的教程,其中介绍了: 您应该在两个不同的包中执行两个文件,一个用于服务器,一个用于客户端:客户端和服务器