Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DEBUG/SntpClient(60): request time failed: java.net.SocketException: Address family not supported by protocol

Tags:

android

I m running server on Linux console which written in C and creating client in android. i have not getting any error on DDMS but following Debug message come

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

but message will not go to the server. But if create client in C or java it working fine. any suggestion.

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;
 }
};
}
like image 468
Vivek Avatar asked Nov 12 '10 09:11

Vivek


1 Answers

Remember to add

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

into the manifest.

It helped for me.

like image 159
surffer Avatar answered Oct 04 '22 22:10

surffer