草庐IT

ios - 如何在特定接口(interface)上接收 UDP 广播数据包?

在iPhone上,我创建了一个UDP套接字并将其绑定(bind)到WLAN接口(interface)。我启用了SO_BROADCAST并且我能够将广播数据包发送到网络(由在我的笔记本电脑上运行的客户端确认)。但是iPhone上的UDP套接字无法接收广播数据包。在我看来这是一个内核错误,因为不允许启用SO_BROADCAST的套接字接收任何广播数据包是一个糟糕的设计决定。问题进一步描述here和here.此问题最流行的解决方案是绑定(bind)到INADDR_ANY。但是,如果能够将UDP套接字绑定(bind)到一个接口(interface),同时仍能接收广播数据包,那就太好了!真的没有

java - 从网页向java套接字服务器发送数据的最快方法

我不需要在浏览器端使用java,因为Web界面是为移动设备设计的。我的目标是找到最快的方法将字符串从“Onmousedown”/“Onmouseup”或“Onclick”javascript事件发送到Java套接字服务器,然后该服务器将该字符串分发到连接的客户端并将其打印到控制台。我已经解决了第二部分,但我正在为如何获得第一部分而苦苦挣扎。Socket.io可能会做我正在寻找的事情,但据我所知,socket.io是它自己的服务器,不能与java程序交互。感谢任何帮助。 最佳答案 我想最快的方法是完全放弃Node.js,让页面通过th

ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备)

我有一个硬件设备采集单元。该设备本身充当wifi路由器,它将发送数据。我想从iPhone/iPad连接它。我听说使用IP地址和端口号我们可以使用套接字编程连接到wifi路由器。但是我对这个使用IP地址和端口号连接到wifi的套接字程序一无所知。为此,我尝试使用以下代码获取连接的wifi路由器的IP地址。NSString*address=@"error";structifaddrs*interfaces=NULL;structifaddrs*temp_addr=NULL;intsuccess=0;//retrievethecurrentinterfaces-returns0onsucce

ios - 应用程序终止时通知视频聊天应用程序

当应用程序处于终止状态时,有什么方法可以通知我的视频聊天应用程序有传入的视频通话吗?(类似于Android后台服务。)当应用程序处于运行和后台状态时,我通过套接字通知传入调用。 最佳答案 使用VoIP的应用程序会受到苹果的不同对待,并拥有更多的特权。在过去,这意味着要与服务器保持永久连接,以便在发生调用时得到通知。这在节能方面不是很有效。从iOS8开始,建议使用PushKit(推送通知API)在发生调用时通知您的用户。具有VoIP权限的应用程序将在现场收到通知,并且可以唤醒您的应用程序,无论它处于什么状态。这是苹果的世界:Inste

ios - 如何在不破坏内置抽象的情况下将 websocket 请求路由到 SailsJS

我是SailsJS的新手,我正在为iOS应用程序构建API。根据SailsJS文档,它为SocketIO请求提供和抽象并将其路由到我的Controller。例如,如果我向/user/create发送一些数据,它会自动调用UserController->create函数。据我了解,我需要在客户端使用sails.io.js文件并使用Socket.get和Socket.post发出。由于我将其用作iOS的API,其中iOS应用程序是客户端,我如何在使用SailsJS中的路由功能时将数据发送到服务器? 最佳答案 如果您查看sourcecod

c++ - 使用 getsockopt 读取 TCP_NODELAY 返回一个奇怪的值

我试图通过在设置后回读它来验证我的TCP_NODELAY设置是否有效。我将值设置为“1”,但当我读回它时,它设置为“4”。恐怕我做错了什么。这是我的代码:inttcpBefore;socklen_ttcpBeforeLen=sizeof(tcpBefore);intres=getsockopt(socket,IPPROTO_TCP,TCP_NODELAY,&tcpBefore,&tcpBeforeLen);//TurnonTCPnodelayinttcpNoDelay=1;res=setsockopt(socket,IPPROTO_TCP,TCP_NODELAY,(void*)&tcp

ios - 在 Cocoa 中进行网络编程的方法

在Cocoa中似乎有很多方法可以进行联网:Webkit、NSUrl、CFNetwork、BSDSockets。是否有任何其他常用于网络的API/框架?我试图了解在Cocoa中建立网络的所有方法,并了解每种方法的优缺点。作为一个相关的问题,为什么会有人使用CFSocket?似乎大多数事情都可以用NSUrl或BSD套接字来完成。CFSocket在实践中常用吗? 最佳答案 您可以观看WWDC视频iPhone网络应用(Part1、Part2)和NetworkingBestPractices他们建议将NSURLConnection用于HTTP

sql-server - 在 iOS 上通过套接字编程连接到 SQL Server

是否可以在iOS中通过套接字编程对SQL服务器执行查询? 最佳答案 你有四个选择:-1-对Microsoft的有线级套接字协议(protocol)进行逆向工程。可能需要花费几个世纪的努力才能解决这个问题。2-编写一个可以在SQLServer基础结构上运行的简单套接字服务器服务您的SQL请求。可行-但“简单套接字服务器”并不真正存在,它可能会变得非常困惑!3-使用REST或SOAP的众多框架之一编写Web服务,并通过http请求调用从IOS内部访问数据。4-使用自2005年以来内置于SQLSever中的Web服务功能。HowToo

iOS - 从套接字获取 CFReadStream/CFWriteStream

我正在尝试向iOS库添加一些简单的点对点连接功能。传出连接的编码非常简单;调用CFStreamCreatePairWithSocketToHost连接到远程主机并设置流以从/写入它。很简单。但是,我找不到同样简单的方法来设置套接字来监听/接受传入连接。所以我回到基础并使用了socket()、bind()、listen()和accept()实现低级连接处理,主要仿照这里的示例:http://www.pcs.cnu.edu/~dgame/sockets/server.c一切都很好,但现在我可以接受传入的连接,我想知道如何着手创建CFReadStream和CFWriteStream实例来管理

android - 当移动设备移动时,推送通知是否比套接字更好

我需要向我的客户端发送一些数据,我想知道使用推送通知是否比使用套接字更好。我听到有人说套接字不好,因为如果手机正在更改它的IP,它们可能会停止工作(不管这种情况多久发生一次)。套接字的可靠性如何>您更愿意在什么时候使用推送通知? 最佳答案 推送通知用于:-当您想向设备发送用户没有首先请求的信息时(通常是一个ping,表明服务器上有用户想要下载的新数据)-当不能保证应用程序正在运行时。套接字用于:-当应用程序运行时-即,用户单击他们想要下载的内容,数据通过套接字发送。此外,在Android上,推送通知的最大数据量为4K,因为(如前所述