我有一对简单的客户机和服务器程序。客户端连接到服务器,当它连接时,服务器返回一个"Hello there"消息。如果我希望客户端和服务器程序在不同的系统上运行,我应该如何修改程序?
下面是客户端的代码…
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");
}
}
}
只需将客户端上的"127.0.0.1"更改为服务器的IP,并确保端口4242是打开的
Socket incoming = new Socket("127.0.0.1",4242);
这是在端口4242
上创建一个监听地址为127.0.0.1
的服务器的套接字。如果您将服务器更改为另一个地址,例如不同的pc,那么更改套接字正在侦听的ip地址。
同样值得注意的是,您可能必须打开或允许访问您正在使用的端口。
客户端需要服务器的ip地址和端口,指的是你创建服务器的系统的ip和端口(4242)。所以在客户端你需要修改
Socket incoming = new Socket("127.0.0.1",4242); BY
Socket incoming = new Socket("IP address of server",4242);
并确保两个系统通过有线或无线网络连接。