如何使用Java聊天应用程序在网络上连接两台不同的计算机?
我有一对简单的客户端和服务器程序。客户端连接到服务器,当它连接时,服务器会回复“Hello there”消息。如果我希望客户端和服务器程序在不同的系统上运行,我应该如何修改程序 以下是客户端的代码如何使用Java聊天应用程序在网络上连接两台不同的计算机?,java,Java,我有一对简单的客户端和服务器程序。客户端连接到服务器,当它连接时,服务器会回复“Hello there”消息。如果我希望客户端和服务器程序在不同的系统上运行,我应该如何修改程序 以下是客户端的代码 package practice; import java.io.*; import java.net.*; public class DailyAdviceClient { public static void main(String args[]) { Dail
package practice;
import java.io.*;
import java.net.*;
public class DailyAdviceClient
{
public static void main(String args[])
{
DailyAdviceClient dac = new DailyAdviceClient();
dac.go();
}
public void go()
{
try
{
Socket incoming = new Socket("127.0.0.1",4242);
InputStreamReader stream = new InputStreamReader(incoming.getInputStream());
BufferedReader reader = new BufferedReader(stream);
String advice = reader.readLine();
reader.close();
System.out.println("Today's advice is "+advice);
}
catch(Exception e)
{
System.out.println("Client Side Error");
}
}
}
这是服务器的代码
package practice;
import java.io.*;
import java.net.*;
public class DailyAdviceServer
{
public static void main(String args[])
{
DailyAdviceServer das = new DailyAdviceServer();
das.go();
}
public void go()
{
try
{
ServerSocket serversock = new ServerSocket(4242);
while(true)
{
Socket outgoing = serversock.accept();
PrintWriter writer = new PrintWriter(outgoing.getOutputStream());
writer.println("Hello there");
writer.close();
}
}
catch(Exception e)
{
System.out.println("Server Side Problem");
}
}
}
只需使用服务器的IP更改客户端上的“127.0.0.1”,并确保端口4242处于打开状态
Socket incoming = new Socket("127.0.0.1",4242);
这是在端口4242
上的地址127.0.0.1
处创建一个侦听服务器的套接字。如果您将服务器更改为另一个地址,例如不同pc的地址,请更改套接字正在侦听的ip地址
还值得注意的是,您可能需要打开或允许访问您正在使用的端口。客户端需要服务器的ip地址和端口,表示您创建服务器和端口(4242)的系统的ip。因此,在客户端中,您需要更改
Socket incoming = new Socket("127.0.0.1",4242); BY
Socket incoming = new Socket("IP address of server",4242);
并确保两个系统都通过有线或无线网络连接。对于系统,您的意思是希望它们通过多个LAN相互连接吗?您不需要输入正确的IP地址吗?此外,您还必须确保所使用的端口在正在使用的路由器上是打开的。提示:您可能需要在关闭写入程序后添加一个
outgoing.close()
,因为套接字将不再使用。