GCDAsyncSocket多个连接不接受来自多个套接字的数据

时间:2015-04-29 04:44:33

标签: swift gcdasyncsocket

我正在尝试编写一个同时连接到多个套接字的应用程序,我在连接新套接字时遇到从旧套接字接收数据时遇到问题。

主要的是委托未被先前连接的套接字激活。

这是我的整体计划

this

这是我存储套接字的结构

var struct = [serverlist]() //Create array for sockets and serverinfo

func connect() {
    //Init socket 
    struct[item].socket = GCDAsyncSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
    //Create error message
    var connectionError: NSError?
    //connect socket
    struct[item].socket!.connectToHost(struct[item].Serveraddress, onPort: struct[item].serverport, error: &connectionError)
}

func socket(socket : GCDAsyncSocket, didReadData data:NSData, withTag tag:Int32)
{
      //Do stuff like print data
}

请注意 我已经检查过两个套接字仍然使用下面的代码连接到不同的IP地址。

struct serverlist 
{ 
    var Serveraddress = String(); 
    var socket = GCDAsyncSocket?(); 
}

0 个答案:

没有答案