При запуске клиент-серверного приложения ЧАТА вылетает ошибка, указанная в заголовке
Первым делом запускаю Сервер, все ОК.
Потом запускаю клиент, ввожу свой логин через консоль, а при вводе сообщения вылетает ошибка и ссылается все на InputStream is = http.getInputStream();
Подсказали, что нужно решить этот вопрос через Firewall. Но я понятия не имею, как это сделать
Почитал другие ответы, ничего путевого для своей проблемы не нашел.
public class GetThread implements Runnable {
private final Gson gson;
private int n;
public GetThread() {
gson = new GsonBuilder().create();
}
@Override
public void run() {
try {
while ( ! Thread.interrupted()) {
URL url = new URL(Utils.getURL() + "/get?from=" + n);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
InputStream is = http.getInputStream();
try {
byte[] buf = requestBodyToArray(is);
String strBuf = new String(buf, StandardCharsets.UTF_8);
JsonMessages list = gson.fromJson(strBuf, JsonMessages.class);
if (list != null) {
for (Message m : list.getList()) {
System.out.println(m);
n++;
}
}
} finally {
is.close();
}
Thread.sleep(500);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
private byte[] requestBodyToArray(InputStream is) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[10240];
int r;
do {
r = is.read(buf);
if (r > 0) bos.write(buf, 0, r);
} while (r != -1);
return bos.toByteArray();
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("Enter your login: ");
String login = scanner.nextLine();
Thread th = new Thread(new GetThread());
th.setDaemon(true);
th.start();
System.out.println("Enter your message: ");
while (true) {
String text = scanner.nextLine();
if (text.isEmpty()) break;
Message m = new Message(login, text);
int res = m.send(Utils.getURL() + "/add");
if (res != 200) { // 200 OK
System.out.println("HTTP error occured: " + res);
return;
}
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
scanner.close();
}
}
}
Полный перечень ошибок :
java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 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 sun.net.NetworkClient.doConnect(NetworkClient.java:180) at sun.net.www.http.HttpClient.openServer(HttpClient.java:463) at sun.net.www.http.HttpClient.openServer(HttpClient.java:558) at sun.net.www.http.HttpClient.(HttpClient.java:242) at sun.net.www.http.HttpClient.New(HttpClient.java:339) at sun.net.www.http.HttpClient.New(HttpClient.java:357) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at com.company.GetThread.run(GetThread.java:28) at java.lang.Thread.run(Thread.java:748)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите пожалуйста как закруглить края у кнопки или какого-либо другого обьекта
Имеется класс, мне надо сделать так, чтобы в 1 дереве была показана svg, а в другом она пряталасьКак можно сделать, не создавая новый класс?
Есть вот такая вёрстка которую нельзя ломать
Хочу сделать элемент задержки показа блока на 5 секундТоесть загрузили страницу и через 5 секунд появился блок с линками и т