Estoy ejecutando el servidor en la consola Linux que está escrito en C y crea el cliente en android. no he conseguir cualquier error en DDMS pero siguiente mensaje de depuración vienenDEBUG/SntpClient (60): tiempo de solicitud fallido: java.net.SocketException: familia de direcciones no compatible con el protocolo
11-12 20:38:06.787: DEBUG/SntpClient(60): request time failed:
java.net.SocketException: Address family not supported by protocol
pero el mensaje no irá al servidor. Pero si crea un cliente en C o java funciona bien. cualquier sugerencia.
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;
}
};
}
Estamos viendo la misma, pero todo el tiempo. Ocurre al azar y, cuando ocurre, debemos abrir una nueva conexión HTTP al servidor. ¿Podría el problema ser introducido en una de las últimas versiones de Android 2.2 o 2.3? No hemos visto ningún problema en dispositivos reales. ¿Qué versión está utilizando? ¿Has probado en un dispositivo real? –
Estoy usando Android 2.1. No tengo ningún problema con dispositivos reales. Está funcionando bien para mí porque estoy compilando el servidor (que está en C) con el compilador de brazo que usa Android para compilar aplicaciones C. (Si comprueba la documentación de ndk). – Vivek