Ошибка при создании сокета

Ответить
bundos
Сообщения: 38
Зарегистрирован: 05 май 2013, 13:43

Ошибка при создании сокета

Сообщение bundos » 05 май 2013, 13:54

Привет! Вот код MainActivity:
[syntax=java]package com.example.lab1;

import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

Button Start;

EditText Text;

Socket socket;

public static String Serv_Addr="localhost";

public static int PORT=31007;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Start= (Button) findViewById(R.id.StartButton);

Text= (EditText) findViewById(R.id.EText1);

OnClickListener ocl= new OnClickListener(){

@Override
public void onClick(View v) {
Thread ct=new Thread(doInThread);
//Thread ct1=new Thread
ct.start();
}

};
Start.setOnClickListener(ocl);
}


private Runnable doInThread = new Runnable() {
public void run() {
try{
InetAddress inetAddress = InetAddress.getByName(Serv_Addr);
Log.d("CLIENT",inetAddress.toString());
socket=new Socket(inetAddress,PORT);
Log.d("CLIENT",socket.toString());

}
catch(IOException e){
System.err.println("Socket creating failed");
}
}
};


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}[/syntax]
Проблема в том, что при создании сокета (по нажатию на Start) вылетает экспешн. Я дописал в AndroidManifest.xml [syntax=java]<uses-permission android:name="android.permission.INTERNET" />[/syntax], но не помогло. Подскажите в чем тут дело? Спасибо!

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Ошибка при создании сокета

Сообщение rezak90 » 05 май 2013, 14:38

Сокеты в Андроиде))) Что хоть за ошибка? А то в праздничные дни у меня куда то пропал всевидящий дар...
R.id.team
Политика на форуме запрещена

bundos
Сообщения: 38
Зарегистрирован: 05 май 2013, 13:43

Re: Ошибка при создании сокета

Сообщение bundos » 05 май 2013, 14:44

rezak90 писал(а):Сокеты в Андроиде)))
А что, это что-то плохое?
rezak90 писал(а):Что хоть за ошибка?
Я не знаю, что за ошибка. В логкат мне вот че выплевывает:
05-05 12:59:45.342: D/CLIENT(490): localhost/127.0.0.1
05-05 12:59:45.443: W/System.err(490): Socket creating failed

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Ошибка при создании сокета

Сообщение Mikhail_dev » 05 май 2013, 15:44

Сокеты в Андроиде)))
А через что, к примеру, можно держать соединение в андроиде?

P.S. это не стектрейс, это какой-то огрызок.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Ошибка при создании сокета

Сообщение rezak90 » 05 май 2013, 15:59

А через что, к примеру, можно держать соединение в андроиде?
Через сокеты, просто редко встречаю реализацию сокетов на Андроиде. И из-за этого складывается мнение что можно обойтись без них...
R.id.team
Политика на форуме запрещена

bundos
Сообщения: 38
Зарегистрирован: 05 май 2013, 13:43

Re: Ошибка при создании сокета

Сообщение bundos » 05 май 2013, 17:40

no-- писал(а): P.S. это не стектрейс, это какой-то огрызок.
Не понял, у меня для клиента больше ничего нет. Может нужно выложить реализацию сервера?

bundos
Сообщения: 38
Зарегистрирован: 05 май 2013, 13:43

Re: Ошибка при создании сокета

Сообщение bundos » 05 май 2013, 22:07

Забыл сказать, что сервер у меня на компе хранится.

bundos
Сообщения: 38
Зарегистрирован: 05 май 2013, 13:43

Re: Ошибка при создании сокета

Сообщение bundos » 05 май 2013, 22:37

Проблема решилась. Ошибка была в том, что пытался установить соединение с сокетом андроид девайсе. И участок кода [syntax="Java"]InetAddress inetAddress = InetAddress.getByName(Serv_Addr);
Log.d("CLIENT",inetAddress.toString());
socket=new Socket(inetAddress,PORT);
Log.d("CLIENT",socket.toString());[/Syntax] заменил на [syntax=java] InetSocketAddress inetAddress = new InetSocketAddress("192.168.12.1", 31007);
Log.d("CLIENT",inetAddress.toString());
socket = new Socket(inetAddress.getAddress(), 31007);
Log.d("CLIENT",socket.toString());[/syntax]
Всем спасибо за участие!

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Ошибка при создании сокета

Сообщение Mikhail_dev » 06 май 2013, 12:13

Ну это неполный лог ошибки. Это лишь её начало. Там всегда выбрасывает по 30 строк.

Ответить