Я все еще новичок и все такое, и я уверен, что об этом уже спрашивали много раз. Я создал клиент-серверный инструмент в java, и он отлично работает, когда я запускаю его на той же машине. Но когда я пытаюсь запустить клиент на другом компьютере, но в той же сети, он не подключается к серверу. Так может кто-нибудь сказать мне, что я могу попробовать/сделать, чтобы исправить это.
Спасибо.
фрагмент кода от клиента:
serverIP = String.valueOf(InetAddress.getLocalHost().getHostAddress());
int Port = 5000;
.
.
.
try
{
sock = new Socket(serverIP, Port);
InputStreamReader streamreader = new InputStreamReader(sock.getInputStream());
reader = new BufferedReader(streamreader);
writer = new PrintWriter(sock.getOutputStream());
writer.println(username +":"+ encPassword+":has connected"+":Connect"); // Displays to everyone that user connected.
writer.flush(); // flushes the buffer
isConnected = true; // Used to see if the client is connected.
}
catch (Exception ex)
{
chatTextArea.append("Cannot Connect! Try Again. \n");
System.err.println(ex.getMessage());
usernameField.setEditable(true);
pass.setEditable(true);
}
ListenThread();
.
.
.
public void ListenThread()
{
Thread IncomingReader = new Thread(new IncomingReader());
IncomingReader.start();
}
фрагмент кода с сервера:
public void run()
{
clientOutputStreams = new ArrayList();
onlineUsers = new ArrayList();
try
{
ServerSocket serverSock = new ServerSocket(5000);
while (true)
{
// set up the server writer function and then begin at the same
// the listener using the Runnable and Thread
Socket clientSock = serverSock.accept();
PrintWriter writer = new PrintWriter(clientSock.getOutputStream());
clientOutputStreams.add(writer);
// use a Runnable to start a 'second main method that will run
// the listener
Thread listener = new Thread(new ClientHandler(clientSock, writer));
listener.start();
outputPane.append("Got a connection. \n");
} // end while
} // end try
catch (Exception ex)
{
outputPane.append("Error making a connection. \n");
} // end catch
}