I m server in esecuzione su console Linux che ha scritto in C e crea client in Android. non ho ottenere alcun errore sul DDMS ma seguente messaggio di debug venireDEBUG/SntpClient (60): tempo richiesto non riuscito: java.net.SocketException: famiglia di indirizzi non supportata dal protocollo
11-12 20:38:06.787: DEBUG/SntpClient(60): request time failed:
java.net.SocketException: Address family not supported by protocol
ma il messaggio non andrà al server. Ma se si crea un client in C o java funziona bene. qualsiasi suggerimento.
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;
}
};
}
Stiamo assistendo lo stesso, ma per tutto il tempo. Succede casualmente e quando si verifica è necessario aprire una nuova connessione HTTP al server. Il problema potrebbe essere introdotto in una delle ultime versioni di Android 2.2 o 2.3. Non abbiamo riscontrato alcun problema su dispositivi reali. Che versione stai usando? Hai provato su un dispositivo reale? –
Sto usando Android 2.1. Non ho alcun problema con i dispositivi reali. Funziona bene per me perché sto compilando il server (che è in C) con il compattatore di arm che Android usa per compilare applicazioni C (se controlli la documentazione di ndk). – Vivek