单击按钮打开套接字以从(https 服务器)web url 获取输入流
Opening a Socket to get input stream from a(https server) web url on click of button
我试图通过点击按钮打开套接字连接。当套接字连接成功时,我必须获取 https server.Finally 中的网络 url 数据,我需要将接收到的数据传递给视频视图进行播放。
每次都遇到以下错误:
**java.net.UnknownHostException: Unable to resolve host <url>: No address associated with hostname**
下面是我打开套接字的代码。
private void openSocket() {
Runnable serverTask = new Runnable() {
@Override
public void run() {
try {
Socket s = new Socket("http://www.zocdoc.com/", 80);
//outgoing stream redirect to socket
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("Hello Android!");
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
//read line(s)
String st = input.readLine();
Log.d(TAG, "openSocket: " + st);
//Close connection
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
Thread serverThread = new Thread(serverTask);
serverThread.start();
}
我已经检查了我的互联网连接,非常感谢它的 fine.Any 帮助。
new Socket("http://www.zocdoc.com/", 80);
问题出在第一个参数中:您必须在那里指定主机名而不是 HTTP URL。如果您想打开 TCP 套接字,请尝试以下操作:
new Socket("www.zocdoc.com", 80);
但是如果你想从那个 http url 消费数据流,Socket
不是你需要的(如果你不愿意自己实现 HTTP 协议的话)。您可以将以下内容与香草一起使用 URL
API:
InputStream is = new URL("http://www.zocdoc.com/").openStream();
// read from that stream
或者使用一些 HTTP 客户端,比如 Apache Httpcomponents http://hc.apache.org/httpcomponents-client-ga/
我试图通过点击按钮打开套接字连接。当套接字连接成功时,我必须获取 https server.Finally 中的网络 url 数据,我需要将接收到的数据传递给视频视图进行播放。 每次都遇到以下错误:
**java.net.UnknownHostException: Unable to resolve host <url>: No address associated with hostname**
下面是我打开套接字的代码。
private void openSocket() {
Runnable serverTask = new Runnable() {
@Override
public void run() {
try {
Socket s = new Socket("http://www.zocdoc.com/", 80);
//outgoing stream redirect to socket
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("Hello Android!");
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
//read line(s)
String st = input.readLine();
Log.d(TAG, "openSocket: " + st);
//Close connection
s.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
Thread serverThread = new Thread(serverTask);
serverThread.start();
}
我已经检查了我的互联网连接,非常感谢它的 fine.Any 帮助。
new Socket("http://www.zocdoc.com/", 80);
问题出在第一个参数中:您必须在那里指定主机名而不是 HTTP URL。如果您想打开 TCP 套接字,请尝试以下操作:
new Socket("www.zocdoc.com", 80);
但是如果你想从那个 http url 消费数据流,Socket
不是你需要的(如果你不愿意自己实现 HTTP 协议的话)。您可以将以下内容与香草一起使用 URL
API:
InputStream is = new URL("http://www.zocdoc.com/").openStream();
// read from that stream
或者使用一些 HTTP 客户端,比如 Apache Httpcomponents http://hc.apache.org/httpcomponents-client-ga/