Подключение к сокету и отправка данных с Android на ПК. Этот процесс отлично работает как поток в подклассе дочерней активности, называемый QueryActivity, который расширяет AppCompat для тестирования, отправляя данные при нажатии кнопки, как в приложении чата.
Однако я хочу отправлять данные автоматически: при захвате буфера обмена и для других «телеметрий» в фоновых потоках/задачах.
Если я создаю поток копии того же класса в отдельном файл, библиотека классов, предназначенная для работы в сети, или как внутренний класс в основном действии (на данный момент ListActivity, если «AppCompat» играет роль), соединение сокета не может быть установлено, нет маршрута к хозяин. IP и порты верны. Одна деталь заключается в том, что когда адрес неверен, происходит тайм-аут, когда адрес правильный: нет маршрута к хосту, предлагается брандмауэр?
Разрешения манифеста устанавливаются следующим образом:
Разрешения манифеста устанавливаются следующим образом:
р>
Компилирую для Lollipop 5.0, SDK 21 (говорят от 23 требуется интерактивный запрос разрешения).
Нет маршрутизации происходит либо если поток или асинхронная задача создаются при активации меню или при обработке событий (захват буфера обмена) - во втором случае событие фиксируется, есть обратная связь для содержимого, но сокет не может подключиться.
D/client: java.net.NoRouteToHostException: Host unreachable
W/System.err: java.net.NoRouteToHostException: Host unreachable
W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:132)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:137)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:391)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:231)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:213)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
at java.net.Socket.connect(Socket.java:570)
at java.net.Socket.(Socket.java:450)
at java.net.Socket.(Socket.java:218)
at twenkid.android.basic.recreatetwenkid_reader_1.MyListActivity$ClientThread.run(MyListActivity.java:1510)
W/System.err: at java.lang.Thread.run(Thread.java:784)
Пример темы Socket:
public class ClientThread implements Runnable {
private final String message, ip, port;
ClientThread(String ip, String port, String message) {
this.ip = ip;
this.port = port;
this.message = message;
Log.d("IP:", this.ip );
Log.d("PORT:", this.port );
Log.d("this.message ", this.message );
}
@Override
public void run() {
try {
// the IP and port should be correct to have a connection established
// Creates a stream socket and connects it to the specified port number on the named host.
Enumeration e = NetworkInterface.getNetworkInterfaces();
while(e.hasMoreElements())
{
NetworkInterface n = (NetworkInterface) e.nextElement();
Enumeration ee = n.getInetAddresses();
while (ee.hasMoreElements())
{
InetAddress i = (InetAddress) ee.nextElement();
System.out.println(i.getHostAddress().toString());
Log.d("run net", i.getHostAddress());
}
}
Log.d("ADDRESS", ip); //message);
Log.d("ADDRESS", port); //message);
Log.d("MESSAGE", message);
client = new Socket(ip, Integer.parseInt(port));
printwriter = new PrintWriter(client.getOutputStream(), true);
printwriter.write(message); // write the message to output stream
printwriter.flush();
printwriter.close();
// closing the connection
client.close();
} catch (IOException e) {
Log.d("client", e.toString());
e.printStackTrace();
}
// updating the UI
runOnUiThread(new Runnable() {
@Override
public void run() {
//text.setText(""); //add in history etc.
SwitchView("Main");
}
});
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... ty-as-a-th
Android, создающий сокет и отправляющий, работает в подклассе в действии как поток, но не работает в классе бездействия ⇐ Android
Форум для тех, кто программирует под Android
1715710281
Anonymous
Подключение к сокету и отправка данных с Android на ПК. Этот процесс отлично работает как поток в подклассе дочерней активности, называемый QueryActivity, который расширяет AppCompat для тестирования, отправляя данные при нажатии кнопки, как в приложении чата.
Однако я хочу отправлять данные автоматически: при захвате буфера обмена и для других «телеметрий» в фоновых потоках/задачах.
Если я создаю поток копии [b]того же[/b] класса в отдельном файл, библиотека классов, предназначенная для работы в сети, или как внутренний класс в основном действии (на данный момент ListActivity, если «AppCompat» играет роль), соединение сокета не может быть установлено, нет маршрута к хозяин. IP и порты верны. Одна деталь заключается в том, что когда адрес неверен, происходит тайм-аут, когда адрес правильный: нет маршрута к хосту, предлагается брандмауэр?
Разрешения манифеста устанавливаются следующим образом:
Разрешения манифеста устанавливаются следующим образом:
р>
Компилирую для Lollipop 5.0, SDK 21 (говорят от 23 требуется интерактивный запрос разрешения).
Нет маршрутизации происходит либо если поток или асинхронная задача создаются при активации меню или при обработке событий (захват буфера обмена) - во втором случае событие фиксируется, есть обратная связь для содержимого, но сокет не может подключиться.
D/client: java.net.NoRouteToHostException: Host unreachable
W/System.err: java.net.NoRouteToHostException: Host unreachable
W/System.err: at libcore.io.IoBridge.connect(IoBridge.java:132)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:137)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:391)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:231)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:213)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
at java.net.Socket.connect(Socket.java:570)
at java.net.Socket.(Socket.java:450)
at java.net.Socket.(Socket.java:218)
at twenkid.android.basic.recreatetwenkid_reader_1.MyListActivity$ClientThread.run(MyListActivity.java:1510)
W/System.err: at java.lang.Thread.run(Thread.java:784)
Пример темы Socket:
public class ClientThread implements Runnable {
private final String message, ip, port;
ClientThread(String ip, String port, String message) {
this.ip = ip;
this.port = port;
this.message = message;
Log.d("IP:", this.ip );
Log.d("PORT:", this.port );
Log.d("this.message ", this.message );
}
@Override
public void run() {
try {
// the IP and port should be correct to have a connection established
// Creates a stream socket and connects it to the specified port number on the named host.
Enumeration e = NetworkInterface.getNetworkInterfaces();
while(e.hasMoreElements())
{
NetworkInterface n = (NetworkInterface) e.nextElement();
Enumeration ee = n.getInetAddresses();
while (ee.hasMoreElements())
{
InetAddress i = (InetAddress) ee.nextElement();
System.out.println(i.getHostAddress().toString());
Log.d("run net", i.getHostAddress());
}
}
Log.d("ADDRESS", ip); //message);
Log.d("ADDRESS", port); //message);
Log.d("MESSAGE", message);
client = new Socket(ip, Integer.parseInt(port));
printwriter = new PrintWriter(client.getOutputStream(), true);
printwriter.write(message); // write the message to output stream
printwriter.flush();
printwriter.close();
// closing the connection
client.close();
} catch (IOException e) {
Log.d("client", e.toString());
e.printStackTrace();
}
// updating the UI
runOnUiThread(new Runnable() {
@Override
public void run() {
//text.setText(""); //add in history etc.
SwitchView("Main");
}
});
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78479965/android-creating-a-socket-and-sending-works-in-a-subclass-in-an-activity-as-a-th[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия