Моя проблема следующая: я пытаюсь печатать на своем принтере через Wi-Fi, я могу печатать, если напечатаю уникальную строку. Что мне нужно, так это создать своего рода сервер печати, который будет постоянно прослушивать запросы на печать в цикле и через массив с продуктами, которые я хочу напечатать построчно. Это код, который я использую:
for(FinalBarto barto : bartoProducts){
Product product = barto.getProducts();
MyPrinter printer = new MyPrinter(product,cxt);
printer.start();
}
А это класс MyPrinter:
public class MyPrinter extends Thread {
Product producto;
Pack pack;
Context context;
Socket socket;
PrintWriter printWriter;
public MyPrinter(Product producto, Context context){
this.context = context;
this.producto = producto;
}
@Override
public void run() {
try {
socket = new Socket("192.168.0.254",9100);
printWriter = new PrintWriter(socket.getOutputStream());
printWriter.println("HELLO FROM THE THREAD");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Как видите, я устанавливаю IP-адрес и порт прямо здесь, и я отправил ping на свой принтер, и это правильный IP-адрес и порт. Итак, я не знаю, в чем проблема, я этого не вижу.
Ошибка, которую я получаю от Android Studio: java.net.ConnectException: не удалось подключиться к /192.168.0.254 (порт 9100): сбой подключения: ECONNREFUSED (соединение отклонено)
Спасибо за пересылку!
Да, добавил
Какой протокол вы используете для связи с принтером? Если вы, например, используете ipp, вам понадобится весь путь: например. 192.168.0.254/ipp/print с наиболее часто используемыми портами (но не ограничиваясь ими) 631 и 443
Я полагаю, вы добавили в свой манифест разрешение на доступ в Интернет?