【发布时间】:2015-01-27 06:47:20
【问题描述】:
我有一个客户端 Android 应用程序,它创建到服务器的 http 和 https 连接(在端口 80 上),我可以成功读取和写入数据。
当我的客户端应用程序的多个实例尝试从同一网络(相同的源 IP 地址)连接到服务器时,就会出现问题。在这种情况下,只有 1 个客户端始终连接(当多个客户端尝试同时连接到服务器时)。
有没有办法在 httpURLConnect 调用中指定源端口号,以便服务器为我的每个客户端打开一个单独的套接字。
HttpsURLConnection conns = null;
url=new URL(urlS);
conns=(HttpsURLConnection)url.openConnection();
conns.setDoOutput(true);
conns.setRequestMethod("POST");
conns.setFixedLengthStreamingMode(params.getBytes().length);
conns.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conns.setRequestProperty("Connection", "close");
conns.setConnectTimeout(SOCKET_TIMEOUT);
conns.setReadTimeout(HTTP_TIMEOUT);
//send the POST out
PrintWriter out = new PrintWriter(conns.getOutputStream());
out.print(params);
out.close();
【问题讨论】:
-
为什么? 什么问题?每个连接你总是会得到一个不同的本地端口,并且服务器总是有一个相应的新套接字。
标签: android sockets httpurlconnection