DEBUG / SntpClient (60): время запроса не выполнено: java.net.SocketException: семейство адресов не поддерживается протоколом

Я запускаю сервер на консоли Linux, который написан на C и создает клиент в Android. Я не получаю никакой ошибки в DDMS, но после сообщения Debug приходят

11-12 20:38:06.787: DEBUG/SntpClient(60): request time failed: java.net.SocketException: Address family not supported by protocol 

Но сообщение не будет отправлено на сервер. Но если создать клиент в C или java, он работает нормально. любое предложение.

 public class UDPDemo extends Activity { private EditText mEditText; private Button sendButton; private DatagramSocket client_socket; private static InetAddress IPAddress; private byte[] send_data = new byte[1024]; static{ try { IPAddress = InetAddress.getByName("127.0.0.1"); } catch (UnknownHostException e1) { e1.printStackTrace(); } } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEditText = (EditText)findViewById(R.id.EditText01); sendButton = (Button)findViewById(R.id.Button01); sendButton.setOnTouchListener( send); } OnTouchListener send = new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if( event.getAction() == MotionEvent.ACTION_UP) try { client_socket = new DatagramSocket(); String data = mEditText.getText().toString(); send_data = data.getBytes(); DatagramPacket send_packet = new DatagramPacket(send_data, send_data.length, IPAddress, 5000); client_socket.send(send_packet); mEditText.setText(""); }catch (IOException e) { System.out.println("UDPDemo.enclosing_method() error"+e.getMessage()); e.printStackTrace(); } return true; } }; } 

Solutions Collecting From Web of "DEBUG / SntpClient (60): время запроса не выполнено: java.net.SocketException: семейство адресов не поддерживается протоколом"

SNTP – это протокол сетевого времени. Эмулятор пытается получить фактическое время. Я думаю, это не имеет никакого отношения к вашему приложению.

От: http://developer.appcelerator.com/question/117495/javanetsocketexception-address-family-not-supported-by-protocol

Не забудьте добавить

 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 

В манифест.

Это помогло мне.

Я знаю, что это старо, но я считаю, что это ваша проблема:

 IPAddress = InetAddress.getByName("127.0.0.1"); 

Android использует 127.0.0.1 как свое собственное устройство обратной связи. Чтобы получить «localhost», например, ваш сервер, вам понадобится 10.0.2.2.