Iphone 如何在iOS中使用套接字?
我必须实现一个iOS应用程序,它连接到web服务器并从中接收事件,即服务器长轮询。我计划使用Iphone 如何在iOS中使用套接字?,iphone,sockets,networking,Iphone,Sockets,Networking,我必须实现一个iOS应用程序,它连接到web服务器并从中接收事件,即服务器长轮询。我计划使用AsyncSocket库 我的想法是在iPhone上打开一个套接字,在我第一次连接到它时将其发送到服务器,然后无限监听该套接字,并根据服务器发送给它的事件相应地更新GUI。以下是我的问题: 这是一个正确的方法吗?如果不是,应该如何做 如果iPhone和服务器位于不同的网络上,而iPhone位于本地网络上,服务器是否可以将数据发送到我给它的套接字(只要套接字打开) 对。2.对 在fone上,您将获得fone
AsyncSocket
库
我的想法是在iPhone上打开一个套接字,在我第一次连接到它时将其发送到服务器,然后无限监听该套接字,并根据服务器发送给它的事件相应地更新GUI。以下是我的问题:
-(void)onSocket:(AsyncSocket *)sock didReadData:(NSData*)data withTag:(long)tag
{
[data getBytes:&getMe length:sizeof(CommProt)];
// do not forget to roll in the next read...
[sock readDataToLength:sizeof(CommProt) withTimeout:-1 tag:0];
// now parse that command
}
在fone上,您将从fone发送信息,很可能是这样的(有两种不同的方法)
注意。我写的这篇文章可能会对你有所帮助:它提供了iOS协议的详细信息:
我希望有帮助
可想而知,这会有所帮助,而这一秘密知识也会有助于欢呼非常感谢!:)我会试一试:),如果我被什么东西卡住了,我会再问一次,如果可以的话:)
-(void) mySendStringData:(NSString *)sss
{
// so easy, thank goodness for AysncSocket
NSData* data = [sss dataUsingEncoding: NSASCIIStringEncoding];
[theSocket writeData:data withTimeout:0.5 tag:0];
[theSocket writeData:quickCR withTimeout:0.5 tag:0];
// (in the protocol at hand, we are using a delimiter on the end (a CR))
}