Objective-c中多线程使用AsyncSocket时报错

数据接收倒是好办,上线回调之后马上调用读取数据,在数据回调中再次调用读取数据就是了

发送数据之前想的是可能跟Java和C#一样是同步发送数据,这样的话容易导致阻塞(大数据)。就做了一个线程来循环发送数据,结果报错


Attempting to access AsyncSocket instance from incorrect thread.

网上是说AsyncSocket不是线程安全的,用到了一个什么runloop。无法跨线程使用,如果要跨线程可以改下源码,有个"DEBUG_THREAD_SAFETY"的变量可以更改。但是不保证能正常运行,可能会报错。


查看源码之后发现,本身AsyncSocket的数据发送就是异步的,是放到队列中,使用线程发送的,所以我们没有必要再做一次异步。直接调用writeData方法发送数据就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值