Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在iOS中使用套接字?_Iphone_Sockets_Networking - Fatal编程技术网

Iphone 如何在iOS中使用套接字?

Iphone 如何在iOS中使用套接字?,iphone,sockets,networking,Iphone,Sockets,Networking,我必须实现一个iOS应用程序,它连接到web服务器并从中接收事件,即服务器长轮询。我计划使用AsyncSocket库 我的想法是在iPhone上打开一个套接字,在我第一次连接到它时将其发送到服务器,然后无限监听该套接字,并根据服务器发送给它的事件相应地更新GUI。以下是我的问题: 这是一个正确的方法吗?如果不是,应该如何做 如果iPhone和服务器位于不同的网络上,而iPhone位于本地网络上,服务器是否可以将数据发送到我给它的套接字(只要套接字打开) 对。2.对 在fone上,您将获得fone

我必须实现一个iOS应用程序,它连接到web服务器并从中接收事件,即服务器长轮询。我计划使用
AsyncSocket

我的想法是在iPhone上打开一个套接字,在我第一次连接到它时将其发送到服务器,然后无限监听该套接字,并根据服务器发送给它的事件相应地更新GUI。以下是我的问题:

  • 这是一个正确的方法吗?如果不是,应该如何做
  • 如果iPhone和服务器位于不同的网络上,而iPhone位于本地网络上,服务器是否可以将数据发送到我给它的套接字(只要套接字打开)
  • 对。2.对
  • 在fone上,您将获得fone中的信息,可能类似于以下内容:

    -(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))
        }