【问题标题】:SocketConnection in Android - with Stream DataAndroid 中的 SocketConnection - 带有流数据
【发布时间】:2016-04-08 09:56:17
【问题描述】:

我们可以将以下 URL 连接为套接字吗? http://203.xxx.xx.xxx:4xxx/Feeds/Connect?UserId=abcd&Password=zxcv&ServiceLevel=17&Group=*&protocol=TCP

根据我的经理的说法,他说:“从您的 Android 设备作为套接字连接到上述 URL,您将开始获取 Feed 流。”

但根据我对套接字的研发,套接字连接只需要一个 IP 和一个端口。即

Socket socket = new Socket("IPADDRESS","PORT-Number") & socket 连接不需要 URL。

因此,请同事指导我,我在某个地方错了,或者我的后端人员误导了我的经理!


更新问题:

请推荐一些有效的、最终的 Socket 连接教程(以流的形式提供数据。)

我查看了许多教程,但它们指导设置我们自己的服务器。 请推荐一些实现服务器的教程。

【问题讨论】:

  • 您所描述的套接字位于 OSI 模型的另一个级别(套接字是“传输”层,而 HTTP 是“应用程序”层)。您可能需要一个 HTTP 客户端。
  • @Thomas:我尝试在“GET”方法中使用 HTTPURLCONNECTION,并且我也得到了成功响应。 (连接方法 == 200),但我没有收到任何提要流。
  • @Thomas: 请指导一下我们打开 Socket-Connection 后如何向服务器发送数据,假设我这样做了,Socket socket = new Socket(IPADDRESS, PORTNUMBER); //现在如何向服务器发送数据。
  • 然后你必须做一个 GET 请求。只需几行文本即可发送。谷歌 http 获取请求。你的经理错了。如果你自己实现一个套接字,你就会理解 http 协议。

标签: android sockets post tcp get


【解决方案1】:

您不能通过套接字连接这样的 URL。好吧,我想你可以,但这将是很多工作。该 URL 是一个 http URL。您通过 Http 协议连接到它。在 Android 中,这是一个 HttpUrlConnection。但是除非你想实现所有的 HTTP,否则你不会使用 tcp 套接字。

【讨论】:

  • 好的,将返回后端团队并让他们知道这不是 SocketConnection,这是 HTTP 连接,我们无法连接 HTTP 来获取 Stream。培根,如果我们这样做,设备的电池就会耗尽。我会让你知道他们说什么。
  • 他们说:它是一个连接隧道,我们不会从服务器端关闭连接。打开 Socket 后尝试发送参数。 ! :-( 我不知道该怎么做!即 Socket socket = new Socket(); 之后是什么......(之后我如何将数据发送到服务器!)
  • ...我认为您需要开始研究 HTTP 的工作原理并阅读协议。我无法在此处的帖子空间中解释您所说的所有错误。您甚至可能需要退后一步,了解分层网络协议的工作原理。我什至无法告诉您您或您的经理哪里错了,因为我无法判断他是否没有意义,或者您是否理解得不够准确,无法准确地理解他所说的话。
猜你喜欢
  • 2016-01-04
  • 2010-10-25
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多