所以,我试图让我的机器的IP地址在我的本地networking(应该是192.168.178.41 )。 我的第一个意图是使用这样的东西: InetAddress.getLocalHost().getHostAddress(); 但它只返回127.0.0.1 ,这是正确的,但对我来说不是很有帮助。 我周围search,发现这个答案https://stackoverflow.com/a/2381398/717341 ,它只是创build一个连接到一些网页(例如“google.com”)的Socket连接,并从套接字获取本地主机地址: Socket s = new Socket("google.com", 80); System.out.println(s.getLocalAddress().getHostAddress()); s.close(); 这对我的机器(它返回192.168.178.41 ),但它需要连接到互联网才能正常工作。 由于我的应用程序不需要互联网连接,它可能看起来应该试图连接到谷歌每次启动“可疑”,我不喜欢使用它的想法。 所以,经过一些更多的研究,我偶然发现了NetworkInterface类,它(有些工作)也返回了所需的IP地址: Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()){ NetworkInterface current = interfaces.nextElement(); System.out.println(current); if (!current.isUp() || current.isLoopback() || current.isVirtual()) continue; Enumeration<InetAddress> addresses = current.getInetAddresses(); while (addresses.hasMoreElements()){ InetAddress current_addr = addresses.nextElement(); if (current_addr.isLoopbackAddress()) continue; System.out.println(current_addr.getHostAddress()); } } 在我的机器上,这返回以下内容: […]
除了SSH提供的增强authentication选项之外,SSH和SSL协议的基本工作还有什么区别吗? 我问,因为我们可以使用SFTP或FTP over SSL,都需要authentication。
我正在使用AFNetworking和SDURLCache来处理所有的networking操作。 我有这样的SDURLCache设置: SDURLCache *urlCache = [[SDURLCache alloc] initWithMemoryCapacity:1024*1024*2 // 2MB mem cache diskCapacity:1024*1024*15 // 15MB disk cache diskPath:[SDURLCache defaultCachePath]]; [urlCache setMinCacheInterval:1]; [NSURLCache setSharedURLCache:urlCache]; 我所有的请求都使用cachePolicy NSURLRequestUseProtocolCachePolicy ,根据苹果文档,它的工作原理是这样的: 如果请求中不存在NSCachedURLResponse,则从原始源获取数据。 如果请求存在caching响应,则URL加载系统检查响应以确定是否指定内容必须重新生效。 如果内容必须重新确认,则与原始源进行连接以查看是否已经改变。 如果没有改变,则从本地caching返回响应。 如果发生了变化,则从原始源获取数据。 如果caching的响应没有指定内容必须重新生效,则检查响应中指定的最大使用期限或到期date。 如果caching的响应足够近,则从本地caching中返回响应。 如果响应被确定为陈旧,则检查起源的新数据。 如果更新的数据可用,则从源发送源获取数据,否则从caching中返回。 所以,即使在飞机模式下,只要caching没有陈旧,一切都可以正常工作。 当caching过期(max-age等)时,失败块被调用。 我一直在SDURLCache里面挖掘一点,这个方法返回一个有效数据的响应(我把数据parsing成一个string,它包含caching的信息) – (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request { request = [SDURLCache canonicalRequestForRequest:request]; NSCachedURLResponse *memoryResponse = [super cachedResponseForRequest:request]; if (memoryResponse) { […]
我有一个安全扫描发现指示我禁用TCP时间戳。 我了解推荐的原因:时间戳可用于计算服务器正常运行时间,这可能对攻击者有帮助(在http://www.silby.com/eurobsdcon05/eurobsdcon_silbersack.pdf标题为“TCP Timestamps”下的正确解释)。 但是,我的理解是,TCP时间戳旨在增强TCP性能。 当然,在成本/效益分析中,性能下降是一个很大的,可能太大的成本。 我很难理解可能有多less,如果有的话,性能成本。 hivemind中的任何节点都在帮助吗?
我试图确定用户是否通过使用AFNetworking 2.0和“AFNetworkReachabilityManager”连接到互联网,但似乎没有工作。 即使closures了互联网,总有一个有效的互联网连接。 这是我的代码: -(BOOL)connected { __block BOOL reachable; [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case AFNetworkReachabilityStatusNotReachable: NSLog(@"No Internet Connection"); reachable = NO; break; case AFNetworkReachabilityStatusReachableViaWiFi: NSLog(@"WIFI"); reachable = YES; break; case AFNetworkReachabilityStatusReachableViaWWAN: NSLog(@"3G"); reachable = YES; break; default: NSLog(@"Unkown network status"); reachable = NO; break; [[AFNetworkReachabilityManager sharedManager] startMonitoring]; } }]; return reachable; […]
假设进程的PID是已知的
我想编写一个脚本,它会继续检查networking中是否有任何应该整天在线的设备真的在线。 我试图使用ping,但是 if [ "`ping -c 1 some_ip_here`" ] then echo 1 else echo 0 fi 如果input有效或无效的IP地址,则给出1 。 我如何检查一个特定的地址(或更好的IP地址列表中的任何设备)是否脱机?
我有一个网站和应用程序使用大量的连接。 它通常有大约3000个连接静态打开,并且可以在几秒钟的时间内从任何地方接收5,000到50,000次连接尝试。 由于TIME_WAIT状态套接字,我有本地端口用尽打开新连接的问题。 即使tcp_fin_timeout设置为低值(1-5),这似乎只是造成了太多的开销/减速,它仍然有时不能打开一个新的套接字。 我已经看了tcp_tw_reuse和tcp_tw_recycle,但是我不确定哪个是最好的select,或者是否使用它们是一个选项。
编辑:把完全做了什么 我需要没有密码SSH本地主机,通常的做法(与公共密钥)不起作用。 user@PC:~$ rm -rf .ssh/* user@PC:~$ ssh-keygen -t rsa > /dev/null Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: user@PC:~$ ls .ssh/ id_rsa id_rsa.pub user@PC:~$ ssh-copy-id -i localhost The authenticity of host 'localhost (::1)' can't be established. RSA key fingerprint is f7:87:b5:4e:31:a1:72:11:8e:5f:d2:61:bd:b3:40:1a. Are […]
在像TCP这样的可靠性的UDP广播的答案之一中,用户提到了Spread消息传递API。 我也跑了一个叫做ØMQ 。 我也对MPI有一些了解。 所以,我的主要问题是:为什么我会select一个呢? 更具体地说,为什么当MPI有成熟的实现时,我会select使用Spread或ØMQ?