“SocketTimeoutException: failed to connect to” only from the Samsung S5 device
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have a very strange issue with my TCP communication app.
I made it a long time ago and I never experienced any problem.
It's a simple send & receive packets through a TCP socket.
But I don't know how, this week I ran it on a Samsung Galaxy S5, and I did not succeed in establishing the connection with the server.
serverSocket.connect(new InetSocketAddress(mServerIPV6.getHostAddress(), Network.COMMUNICATION_PORT), (int) (3 * DateUtils.SECOND_IN_MILLIS));
always returns :
java.net.SocketTimeoutException: failed to connect to /fe80::d6ae:5ff:fe43:c6e9%wlan0%23 (port 60001) after 3000ms
but the craziest thing is that it succeed in finding the IP address of the server through the network service discovery (UDP). So the problem does not come from the Wi-Fi network and it only happens with this device (Samsung S5). Very strange. Any idea?

add a comment |
I have a very strange issue with my TCP communication app.
I made it a long time ago and I never experienced any problem.
It's a simple send & receive packets through a TCP socket.
But I don't know how, this week I ran it on a Samsung Galaxy S5, and I did not succeed in establishing the connection with the server.
serverSocket.connect(new InetSocketAddress(mServerIPV6.getHostAddress(), Network.COMMUNICATION_PORT), (int) (3 * DateUtils.SECOND_IN_MILLIS));
always returns :
java.net.SocketTimeoutException: failed to connect to /fe80::d6ae:5ff:fe43:c6e9%wlan0%23 (port 60001) after 3000ms
but the craziest thing is that it succeed in finding the IP address of the server through the network service discovery (UDP). So the problem does not come from the Wi-Fi network and it only happens with this device (Samsung S5). Very strange. Any idea?

add a comment |
I have a very strange issue with my TCP communication app.
I made it a long time ago and I never experienced any problem.
It's a simple send & receive packets through a TCP socket.
But I don't know how, this week I ran it on a Samsung Galaxy S5, and I did not succeed in establishing the connection with the server.
serverSocket.connect(new InetSocketAddress(mServerIPV6.getHostAddress(), Network.COMMUNICATION_PORT), (int) (3 * DateUtils.SECOND_IN_MILLIS));
always returns :
java.net.SocketTimeoutException: failed to connect to /fe80::d6ae:5ff:fe43:c6e9%wlan0%23 (port 60001) after 3000ms
but the craziest thing is that it succeed in finding the IP address of the server through the network service discovery (UDP). So the problem does not come from the Wi-Fi network and it only happens with this device (Samsung S5). Very strange. Any idea?

I have a very strange issue with my TCP communication app.
I made it a long time ago and I never experienced any problem.
It's a simple send & receive packets through a TCP socket.
But I don't know how, this week I ran it on a Samsung Galaxy S5, and I did not succeed in establishing the connection with the server.
serverSocket.connect(new InetSocketAddress(mServerIPV6.getHostAddress(), Network.COMMUNICATION_PORT), (int) (3 * DateUtils.SECOND_IN_MILLIS));
always returns :
java.net.SocketTimeoutException: failed to connect to /fe80::d6ae:5ff:fe43:c6e9%wlan0%23 (port 60001) after 3000ms
but the craziest thing is that it succeed in finding the IP address of the server through the network service discovery (UDP). So the problem does not come from the Wi-Fi network and it only happens with this device (Samsung S5). Very strange. Any idea?


asked Jan 3 at 9:22


DenisDenis
310521
310521
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
If you're using older devices you may need to enable TLS version 1.2.
You can do this with an Okhttpclient builder.
public static OkHttpClient.Builder enableTls12OnPreLollipop(OkHttpClient.Builder client) {
if (Build.VERSION.SDK_INT >= 16 && Build.VERSION.SDK_INT < 22) {
try {
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, null, null);
client.sslSocketFactory(new Tls12SocketFactory(sc.getSocketFactory()));
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.build();
List<ConnectionSpec> specs = new ArrayList<>();
specs.add(cs);
specs.add(ConnectionSpec.COMPATIBLE_TLS);
specs.add(ConnectionSpec.CLEARTEXT);
client.connectionSpecs(specs);
} catch (Exception exc) {
Log.e("OkHttpTLSCompat", "Error while setting TLS 1.2", exc);
}
}
return client;
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54019376%2fsockettimeoutexception-failed-to-connect-to-only-from-the-samsung-s5-device%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you're using older devices you may need to enable TLS version 1.2.
You can do this with an Okhttpclient builder.
public static OkHttpClient.Builder enableTls12OnPreLollipop(OkHttpClient.Builder client) {
if (Build.VERSION.SDK_INT >= 16 && Build.VERSION.SDK_INT < 22) {
try {
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, null, null);
client.sslSocketFactory(new Tls12SocketFactory(sc.getSocketFactory()));
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.build();
List<ConnectionSpec> specs = new ArrayList<>();
specs.add(cs);
specs.add(ConnectionSpec.COMPATIBLE_TLS);
specs.add(ConnectionSpec.CLEARTEXT);
client.connectionSpecs(specs);
} catch (Exception exc) {
Log.e("OkHttpTLSCompat", "Error while setting TLS 1.2", exc);
}
}
return client;
}
add a comment |
If you're using older devices you may need to enable TLS version 1.2.
You can do this with an Okhttpclient builder.
public static OkHttpClient.Builder enableTls12OnPreLollipop(OkHttpClient.Builder client) {
if (Build.VERSION.SDK_INT >= 16 && Build.VERSION.SDK_INT < 22) {
try {
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, null, null);
client.sslSocketFactory(new Tls12SocketFactory(sc.getSocketFactory()));
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.build();
List<ConnectionSpec> specs = new ArrayList<>();
specs.add(cs);
specs.add(ConnectionSpec.COMPATIBLE_TLS);
specs.add(ConnectionSpec.CLEARTEXT);
client.connectionSpecs(specs);
} catch (Exception exc) {
Log.e("OkHttpTLSCompat", "Error while setting TLS 1.2", exc);
}
}
return client;
}
add a comment |
If you're using older devices you may need to enable TLS version 1.2.
You can do this with an Okhttpclient builder.
public static OkHttpClient.Builder enableTls12OnPreLollipop(OkHttpClient.Builder client) {
if (Build.VERSION.SDK_INT >= 16 && Build.VERSION.SDK_INT < 22) {
try {
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, null, null);
client.sslSocketFactory(new Tls12SocketFactory(sc.getSocketFactory()));
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.build();
List<ConnectionSpec> specs = new ArrayList<>();
specs.add(cs);
specs.add(ConnectionSpec.COMPATIBLE_TLS);
specs.add(ConnectionSpec.CLEARTEXT);
client.connectionSpecs(specs);
} catch (Exception exc) {
Log.e("OkHttpTLSCompat", "Error while setting TLS 1.2", exc);
}
}
return client;
}
If you're using older devices you may need to enable TLS version 1.2.
You can do this with an Okhttpclient builder.
public static OkHttpClient.Builder enableTls12OnPreLollipop(OkHttpClient.Builder client) {
if (Build.VERSION.SDK_INT >= 16 && Build.VERSION.SDK_INT < 22) {
try {
SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc.init(null, null, null);
client.sslSocketFactory(new Tls12SocketFactory(sc.getSocketFactory()));
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.build();
List<ConnectionSpec> specs = new ArrayList<>();
specs.add(cs);
specs.add(ConnectionSpec.COMPATIBLE_TLS);
specs.add(ConnectionSpec.CLEARTEXT);
client.connectionSpecs(specs);
} catch (Exception exc) {
Log.e("OkHttpTLSCompat", "Error while setting TLS 1.2", exc);
}
}
return client;
}
answered Jan 3 at 9:39
Joshua BestJoshua Best
15512
15512
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54019376%2fsockettimeoutexception-failed-to-connect-to-only-from-the-samsung-s5-device%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown