Я пробовал все, но ничего не работает. Я теряю рассудок, и если кто-то может помочь, это будет здорово. Я пишу простой код клиент/сервер, где у меня есть echoclient.class, который был указан, и я полагаю, что он запускает его на сервере, я пишу все на localhost. Класс echoClient отправляет сообщение, и я полагаю, что он должен отменить строку и отправить ее обратно. я продолжаю получать соединение, отказавшееся с классом echo client, но когда я запускаю сервер эхо, он работает нормально. любая помощь???Java-сокет Соединение с клиентом и сервером отказалось от выпуска
это мой код:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.ServerSocket;
public class EchoServer {
public static void main(String[] args) throws Exception {
int port = Integer.parseInt(args[1]);
String hostid = args[0];
ServerSocket echoServer = new ServerSocket(port);
System.out.println("Success");
try{
Socket echoClient = new Socket(hostid, port);
echoClient = echoServer.accept();
System.out.println("Connection made");
// while(true){
while ((echoServer.isClosed() != true) ||
(echoClient.isClosed() != true)) {
BufferedReader reader = new BufferedReader(new
InputStreamReader(echoClient.getInputStream()));
String message = reader.readLine();
PrintWriter writer = new
PrintWriter(echoClient.getOutputStream(), true);
while(message.contains("#") != true || message.contains("$")
!= true){
String builder = new
StringBuilder(message).reverse().toString();
writer.println(builder + "\n");
}//writer.close();
System.out.println(message + "\n");
writer.close();
echoServer.close();
echoClient.close();
}
}catch(IOException ex){
ex.printStackTrace();
}
}
}
и это результаты:
java -cp . EchoClient 127.0.0.1 1234
Exception in thread "main" java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at EchoClient.main(EchoClient.java:22)
and when i run this:
java -cp . EchoServer 127.0.0.1 1234
Success
Connection made
спасибо, ребята, за выдающиеся ответы, вы, ребята, потрясающие, я просто схожу с ума здесь – Ubiq