为什么在我们有UrlConnection时使用套接字

时间:2014-06-14 16:30:30

标签: java android ios sockets networking

关于socket对比URLConnection,我已经阅读了很多关于stackoverflow的帖子,看起来并没有太大区别。有人能告诉我低级别(套接字编程)有什么优势吗?

2 个答案:

答案 0 :(得分:1)

因为URLConnection假设了一小组预定义协议。通常在进行套接字编程时,您正在编写自己的协议。虽然您可以注册其他协议,但这样做很麻烦,您的自定义协议可能不适合URLConnection系统。使用纯插座更灵活,更易于操作。因此,除非您使用其中一个预定义协议,否则没有理由使用URLConnection。

答案 1 :(得分:0)

大多数服务器/客户端通信都有明确定义的第7层应用程序协议。对应用程序只需要使用低级套接字编程。使用套接字层,您可以调整套接字参数,以根据您的应用需求进行微调。假设您需要更快的请求响应,可以设置TCP_NODELAY套接字选项以避免响应之间的200ms延迟。同样,有一些socket选项可以调整以满足应用程序的特殊需要,否则URLConnection无法实现