Im работает над андроид-студией, и я пытаюсь подключиться к серверу, который я создал, без каких-либо успехов. Мне удалось подключить клиента к серверу, когда клиент был моим компьютером успешно, когда я использовал этот код:Android-клиент и серверные сокеты
socket = null;
try
{
Log.e("client", "Attempting to connect to serverrrrrr.");
socket = new Socket(hostname, portnumber);
Log.e("client", "Connected ! ");
, когда имя хоста, как: private static final String hostname= "localhost"; private static final int portnumber=55555;
тогда я понял, что он не работает, когда Im пытается подключиться к клиенту с телефона, потому что мне нужно поставить РЕАЛЬНЫЕ ip-адрес, а не объект localhost. Поэтому я пробовал это:
private static final String hostname= "10.0.0.1";
private static final int portnumber=55555;
с тем же кодом выше, и это не сработало. Он просто остается в линии: новый Socket ... и его не двигается вперед и, следовательно, не подключается суккусивно. Что я делаю не так ?
У меня есть этот кусок кода: <uses-permission android:name="android.permission.INTERNET"/>
и я сделал «перенаправление портов». Что еще я могу сделать ?
01-30 18:16:47.760 16158-16210/com.omer.tictactoemultiplayer W/System.err: java.net.ConnectException: failed to connect to /10.0.0.1 (port 55555): connect failed: ETIMEDOUT (Connection timed out)
код сервера: `общественный класс Сервер расширяет тему {
private static final int portnumber = 55555;
@Override
public void run() {
ServerSocket serverSocket = null;
try {
Log.e("Server", "Server starting at port number: " + portnumber);
serverSocket = new ServerSocket(portnumber);
while(true)
{
// Client connecting.
Log.e("Server", "Waiting for clients to connect ...");
Socket socket1 = serverSocket.accept();
Log.e("Server", "Client one has connected.");
Socket socket2 = serverSocket.accept();
Log.e("Server", "Client two has connected.");
//Send message to the server.1
BufferedWriter bw1 = new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream()));
bw1.write("found");
bw1.newLine();
bw1.flush();
BufferedWriter bw2 = new BufferedWriter(new OutputStreamWriter(socket2.getOutputStream()));
bw2.write("found");
bw2.newLine();
bw2.flush();
new ServerThread(socket1,socket2).start();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
} `
Комментарии для расширенного обсуждения; этот разговор был [перемещен в чат] (http://chat.stackoverflow.com/rooms/138851/discussion-on-question-by-levi-omer-android-client-and-server-sockets). –