如何使用Java聊天应用程序连接网络上的两台不同计算机



我有一对简单的客户机和服务器程序。客户端连接到服务器,当它连接时,服务器返回一个"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);

并确保两个系统通过有线或无线网络连接。

最新更新