![](/img/trans.png)
[英]how to connect and sends data between many computers using Java networking
[英]How to connect 2 different computers on a network using a chat application in 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");
}
}
}
只需使用服務器的IP在客戶端上更改“ 127.0.0.1”,並確保打開端口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);
並確保兩個系統都通過有線或無線網絡連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.