Я пытаюсь подключить клиент Android к ПК-серверу, но клиент всегда падает и не подключается к серверу.
сервер состоит из двух методов, один из которых ожидает подключения клиента, а другой - печатает подключенный клиент (я не использовал поток, я подключаю только одного клиента)
Сервер (я покажу только первый метод):
public Socket listeningClient ()
{
try
{
server = new ServerSocket(8080);
client = server.accept();
server.close();
}
catch (Exception e)
{
System.out.println(e.getMessage());
System.exit(1);
}
return client;
}
в клиенте есть кнопка, которая вызывает метод для создания сокета при нажатии:
Клиент
public class Client {
String IP = "192.168.1.4";
int portaServer = 8080;
Socket miosocket = null;
public void connetti() {
try {
InetAddress nomeServer = InetAddress.getByName(IP);
miosocket = new Socket(nomeServer, portaServer);
miosocket.close();
}
catch (UnknownHostException e) {
e.printStackTrace();
Log.e("MyApp", "UnknownHost");
}
catch (Exception e) {
e.printStackTrace();
Log.e("MyApp", "Exception");
System.exit(1);
}
}
}
Приложение всегда вылетает на линии: miosocket = new Socket(nomeServer, portaServer);
и бросает исключение (второй). Может кто-нибудь сказать мне, если мой код неправильный (я почти уверен, что проблема в коде) или есть проблема на сервере?
(в AndroidManifest.xml я использовал эти разрешения:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
)