Tag: networking服务

Swift – 获取设备的IP地址

我需要在Swift中获取iOS设备的IP地址。 这不是关于这个问题的其他问题的重复! 我只需要获得WiFi的IP地址,如果没有wifi的IP地址 – 我需要处理它。 关于堆栈溢出有几个问题,但只有返回IP地址的函数。 例如(从如何获得IP地址在迅速 ): func getIFAddresses() -> [String] { var addresses = [String]() // Get list of all interfaces on the local machine: var ifaddr : UnsafeMutablePointer<ifaddrs> = nil if getifaddrs(&ifaddr) == 0 { // For each interface … for (var ptr = ifaddr; ptr != nil; ptr = ptr.memory.ifa_next) { […]

如何在网站上findsitemap.xmlpath?

我怎样才能find网站的sitemap.xml文件? 例如去stackoverflow / sitemap.xml得到我一个404。 在stackoverflow / robots.txt写入以下内容: “这在技术上是无效的,因为对于一些被遗忘的原因,sitemappath必须是ABSOLUTE而不是相对的。Sitemap:/sitemap.xml”

如何绑定到任何可用的端口?

我需要一个应用程序将UDP数据包发送到某个networking服务器并接收响应。 服务器回复的请求来自同一端口号,所以我首先需要绑定()我的套接字到任何UDP端口号。 对UDP端口号进行硬编码是一个坏主意,因为它可能被运行在同一台PC上的任何其他应用程序使用。 有没有办法将UDP套接字绑定到任何可用的端口? 国际海事组织它应该是一个有效的方式来快速获得一个自由端口#,这是由例如accept()函数使用。 如果不是,那么尝试绑定并检查WSAEADDRINUSE / EADDRINUSE状态的最佳策略是:从1025或1025 + rand()或其他一些端口开始顺序尝试端口?

像LinkedIn这样的网站如何有效地在每个人的姓名旁边显示1/2/3级关系?

我最近通过回答一个简单的问题来糟糕的回答了一个面试问题:像LinkedIn这样的网站如何有效地向您显示每个在网页上显示的人的关系距离(第一/第二/第三)(例如,在人员search结果,工作人员列表在一家公司等)? 我得到了解决scheme的基本“技巧”:find“距离我”是一个常见的操作(例如,在一个页面上20x +,每个login会话100个),所以你可以做一部分“距离我X“,将其caching,然后多次重复使用该caching的部分结果,以使其他操作更便宜。 我也猜测,部分结果很可能是我的二级连接,因为“caching所有三级连接”在RAM和CPU中的成本太高。 </ EDIT> 但是,当试图将这种见解转化为解决scheme时,我想出了一个令人尴尬的答案,涉及到创build持久的caching,这个caching是网站上每个人的二级连接(这将会非常昂贵,而且维护复杂)莫名其妙地绕过布鲁姆filter ,这种方式几乎没有技术意义。 我不会在这样的答案之后雇用自己的! 后来,当我在没有面试压力的情况下思考这个问题时,我想出了一个更合理的答案。 build立一个非常快速的方式来获得每批用户ID的第一级连接(批量大小可达〜1000?)。 这可能意味着一个RAM专用服务器集群,它可以将整个networking的第一级连接caching在内存中。 幸运的是,有五千万会员x平均。 每个成员100个连接x每个成员4个字节ID = <25GBcaching在RAM中,这可以通过合理定价的硬件来实现。 而且每天的变化数量将在1%以下,所以保持caching最新不是太难。 (请注意,关系数据库可能是一个不好的select来实现这个caching,因为“大量的随机I / O”访问模式杀死了关系数据库的性能。) 当用户login时,通过获取每个第一级连接的第一级连接来caching他的第二级连接,并且使用散列表(键=第二级ID,值=连接你的第一级连接的数组) 。 同样caching你的第一级连接,这样你就可以通过一次调用将你的第一级和第二级拉回远程caching服务器。 用户ID很容易分区,所以像memcached这样的分布式caching可能会很好地工作。 对于任何用户ID,要查找它是否在您的“networking”中,以及它与您(第一,第二,第三)有什么关系,请执行以下操作: 如果ID在您的一级连接中,请停止。 试着在你的caching二级连接哈希表中查找ID。 如果find,返回连接你的连接数组。 获取ID的第一级连接,并为它们中的每一个重复步骤#2。 将所有结果汇总到一个数组中并返回。 (EDIT)重构为一个批处理实现(“从我到N个不同的用户查找距离”),所以你可以从步骤#3获得所有的远程结果,而不必弥补N个远程调用。 </ EDIT> 但我相信有更好的答案。 你的是啥呢? 如果你想要额外的挑战,试着模拟一个inteview的情况(不能在网上查找解决scheme)。 请注意,这个问题是关于一个最佳的解决scheme,无论LinkedIn今天是如何实际做到的 ,在我写上自己的答案之后,我看了一下。

有谁知道遵循HATEOAS原则的RESTful客户端的例子吗?

所以现在我明白了,我们应该全部实施我们的RESTful服务,提供使客户遵循HATEOAS原则的表示。 从理论上说,这一切都很有道理,但我一直在网上search一个严格遵循这个概念的客户代码的例子。 我读得越多,我就越觉得这是一个学术讨论,因为没有人真的这样做! 人们可以嘲笑WS- *堆栈的许多缺陷,但至less清楚如何编写客户端:您可以parsingWSDL并生成代码。 现在我明白,对于一个好的RESTful服务来说,这不是必须的:您只需要知道所涉及的关系和表示,并且您应该能够对这些服务进行dynamic反应。 但即使如此,现在这个原则不应该被提炼成一些共同的图书馆吗? 提供有关您可能会收到的表示和关系的信息,并获得一些您可以在应用程序中使用的更有用的高级代码? 这些只是我的一半的想法,但我只是谨慎,如果我现在正在潜心编写一个适当的RESTful API,没有人真的能够使用它! 或者至less使用它会在后面如此痛苦,因为额外的英里人们将不得不去写胶水代码来解释我提供的关系和表示。 任何人都可以从客户的angular度来解释这一点吗? 有人可以展示一个正确的dynamic/被动RESTful客户端代码的例子,以便我可以对我实际上正在写的观众有一个想法吗? (更好的还是一个提供一些抽象的客户端API的例子)否则,它的一切都非常理论…. [编辑:请注意,我在这里发现了一个类似的问题,我不认为这是真正的答案,作者被一个维基百科的存根所束缚!]

Web应用程序中的“无声”打印

我正在开发一个需要静默打印的Web应用程序 – 这是没有用户参与的。 什么是完成这个最好的方法? 它不喜欢它可以严格使用Javascript,也不是Flash和/或AIR。 我见过的最接近的Java applet。 我可以理解为什么只有任何一个网站能够做到这一点,这是一个坏主意。 这个特定的实例用于内部应用程序,如果用户需要将URL添加到受信任的站点列表,安装插件等,这是完全可以接受的。

以wireshark保存显示/过滤的数据包

我在wireshark中应用了一个filter,只显示传入数据包到我的电脑。 当我保存过滤/显示的数据包到.csv文件,我实际上保存所有的数据包(未过滤)。 我怎样才能保存显示/过滤的数据包?

AFNetworking:全局处理错误并重复请求

我有一个用例,应该是相当普遍的,但我找不到一个简单的方法来处理它AFNetworking: 每当服务器返回任何请求的特定状态码,我想: 删除caching的身份validation令牌 重新authentication(这是一个单独的请求) 重复失败的请求。 我认为这可以通过AFHTTPClient一些全局完成/error handling程序完成,但是我没有find任何有用的东西。 那么,做我想做的事情的“正确”方法是什么? 覆盖enqueueHTTPRequestOperation:在我的AFHTTPClient子类中,复制操作,并包装原始完成处理程序与我想要的块(重新authentication,入队复制操作)? 还是我在错误的轨道上? 谢谢! 编辑:删除对401状态码的引用,因为这可能保留为HTTP基本,而我使用令牌authentication。

bit.ly或tinyurlurl是否有失效?

是否有bit.ly或tinyurl缩短的url到期? 我在问,因为我正在考虑坚持这些缩短的url到客户端的Twitter服务数据库。 更新:如果你继续发送bit.ly相同的URL,它会返回相同的缩短URL,这是很好的,因为这意味着我不需要在我的数据库中坚持缩短的URL,只是cachingbit.ly /缩短电话。 我真的希望避免在我的数据库中保留缩短的URL。

一个套接字如何知道使用哪个networking接口控制器?

我是networking编程领域的一名大学生,所以我的问题看起来很愚蠢,但请耐心等待。 问题是,如果一台计算机有多个网卡,它们都连接到不同的networking并运行正常,当我们打开一个套接字时,操作系统如何确定使用这个套接字的网卡? 套接字API是否允许我们明确指定要使用的NIC?