0

I am writing a simple code to connect to Socket.Io server.

Simply I am connecting to Socket.io in onCreate and pushing some message after button click. But unfortuantely not receiving asingle response from there. My debug point in not comming inside Emitter.Listener. I am doing my code as below:

public class MainChatPage extends Activity{

private Socket mSocket;
private EditText mInputMessageView;
private Button send;
private GlobalSharedPreference prefs;
private APIInterface apiInterface;
{
    try {
        mSocket = IO.socket(Constantstuffs.SERVER_URL);
    } catch (URISyntaxException e) {}
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.screen_main_chat_page);
    apiInterface = APIClient.getClient().create(APIInterface.class);
    prefs = new GlobalSharedPreference(this);
    mInputMessageView = (EditText) findViewById(R.id.etMessege);
    send = (Button) findViewById(R.id.send_button);
    send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            attemptSend();
        }
    });


    mSocket.connect();
    mSocket.on("new message", onNewMessage);
}


private void attemptSend() {
    String message = mInputMessageView.getText().toString().trim();
    if (TextUtils.isEmpty(message)) {
        return;
    }

    mInputMessageView.setText("");
    mSocket.emit("new message", createJson(message));
}

private Emitter.Listener onNewMessage = new Emitter.Listener() {


    @Override
    public void call(final Object... args) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                JSONObject data = (JSONObject) args[0];

                Log.v("some response", ""+data);
            }
        });
    }
};
    @Override
    public void onDestroy() {
        super.onDestroy();

        mSocket.disconnect();
        mSocket.off("new message", onNewMessage);
    }
Dimitri Payet
  • 187
  • 2
  • 12

1 Answers1

0

Try add this to your AndroidManifest.xml in application:

android:usesCleartextTraffic="true"

For more details: https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic

MrArtyD
  • 113
  • 1
  • 9