Ich habe versucht, den Socket verwenden, um den Server zu verbinden, aber wenn ich den Parameter localhost setzen, funktioniert es. aber wenn ich dort meine IP-Adresse setzen es nie funktioniert, also ich weiß nicht, was falsch war, die IP-Adresse, die ich erhielt, war von http://whatismyipaddress.comSocket wurde nie verbunden
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String [] arg) throws Exception
{
Socket socket;
BufferedReader stdIn;
BufferedReader fromServer;
PrintWriter toServer;
String s;
String result;
socket = new Socket("96.63.208.240", 5000);
stdIn = new BufferedReader(new InputStreamReader(System.in));
fromServer = new BufferedReader(new InputStreamReader(socket.getInputStream()));
toServer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()), true);
while ((s = stdIn.readLine()) != null)
{
toServer.println(s);
result = fromServer.readLine();
System.out.println("reverse: " + result);
}
socket.close();
}
}
Sever Seite
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String [] arg) throws Exception
{
ServerSocket serverSocket = new ServerSocket(5000, 10);
Socket socket;
serverSocket.setReuseAddress(true);
while ((socket = serverSocket.accept()) != null)
{
System.out.println("Accepted an incoming connection");
new SessionThread(socket).start();
}
serverSocket.close();
}
}
Angenommen, dies ist in einem Heimnetzwerk - haben Sie Portweiterleitung auf Ihrem Router für Port 5000 aktiviert? – Steve101
Entschuldigung, wissen Sie, wie das geht? –
Wenn Sie sich bei Ihrem Router anmelden, sollte es einen Port-Weiterleitungsabschnitt geben und den Datenverkehr von Port 5000 an Ihre lokale IP leiten. – Steve101