大家好,优化后的标题:iOS 局域网聊天室开发:CocoaAsynSocket框架应用与常见错误解析相信很多的网友都不是很明白,包括也是一样,不过没有关系,接下来就来为大家分享关于优化后的标题:iOS 局域网聊天室开发:CocoaAsynSocket框架应用与常见错误解析和的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
网上搜索了一些资料,供网友参考。以下是遇到的一些错误代码:
* Domain=NSPOSIXErrorDomain Code=51 "网络无法访问"
* Domain=NSPOSIXErrorDomain Code=54 "Connection Reset by Peer" 连接重置"连接断开后读写操作导致"
* Domain=NSPOSIXErrorDomain Code=57 "套接字未连接"
* Domain=NSPOSIXErrorDomain Code=60 "操作超时"
* 域=NSPOSIXErrorDomain 代码=61 "连接被拒绝"
* Domain=NSPOSIXErrorDomain Code=65 "没有到主机的路由"
* 更多错误代码在#include 中
Domain=NSPOSIXErrorDomain Code=65 "没有到主机的路由"
在线的
以上摘自:http://stackoverflow.com/questions/3635412/intermittent-no-route-to-host-on-ios-flight-mode-off-then-on-fixes
Domain=NSPOSIXErrorDomain Code=57 "套接字未连接"
通常网络会立即断开,比如切换到“飞行模式”,你会立即得到一个Socket is notconnected。
Domain=NSPOSIXErrorDomain 代码=60 "操作超时"
[问题] 提示POSIX:操作超时?怎么解决呢?
【解决方法】:
连接超时,请注意这是LAN版本。真机调试时,请确保手机和电脑在同一个局域网内。
域=NSPOSIXErrorDomain 代码=61 "连接被拒绝"
我看到书上的代码一般都是建立一个socket连接,执行send、recv,然后close(socket)。现在我在一次连接中执行了两次send和recv,然后我发现重复这个过程大约二十、三十次后,就会出现“连接失败,连接被拒绝”的提示。网上查资料说连接被拒绝一般是因为服务器端口没有开放,但是端口是开放的。我不知道发生了什么事!是不是因为一个连接中数据发送和接收两次?因为之前发送和接收数据的时候很稳定,希望CU的专家能给点意见。
如果客户端连接到相应的服务器端口,则服务器端口必须打开。我猜服务器也是你自己写的。
1、可能是连接后客户端没有关闭。一旦次数增加,服务器就没有资源提供服务,无法连接。在你的情况下,它会关闭,并且这个问题不会出现20到30次。
2.服务器未开放。我不太相信你说的端口是开放的。我认为您的服务器很可能不健壮。你用客户端发送了几次然后把服务器程序弄乱了。死的。
3、第三种可能是网络问题,我认为可能性不大。
总结起来,我认为是2种情况造成的。下次再次模拟时,如果再次出现您提到的情况,请检查您打开服务器的程序是否已被杀死。
域=NSPOSIXErrorDomain 代码=51 "网络无法访问"
设备当前没有网络,那么进行连接操作时会报51错误。
Domain=NSPOSIXErrorDomain Code=54 "连接被对等方重置"
我查了一些中文和英文的网站,找遍了能找到的各个角落,找出了出现这种情况的原因。该异常在客户端和服务端都可能发生。造成这个异常的原因有两个:
1、如果一端的Socket关闭(或主动关闭,或异常退出关闭),另一端仍然发送数据,且发送的第一个数据包触发此异常(Connect Reset by Peer)。
2、一端退出,但退出时连接未关闭。如果另一端正在从连接读取数据,则会抛出异常(连接重置)。
简单来说就是连接断开后进行读写操作导致的。
以上段落摘自:http://phl.iteye.com/blog/1883742
在TCP机制中,socket连接双方都可以调用close()等函数来退出当前连接。 TCP基于改进的三向握手机制通知对方也退出当前连接。这个过程可以看作是正常socket连接的一部分。同时TCP提供了复位机制。一方的程序遇到异常情况并断开连接后,会向另一方发送重置消息。重置是立即退出,并清除与此连接相关的所有资源。
因此,出现Connection Reset by Peer的原因是对端服务器异常退出连接。
当客户端遇到这种情况时,只能重新与服务器建立连接。我遇到的这种情况,有时需要重试5次左右才能正常连接。
【优化后的标题:iOS 局域网聊天室开发:CocoaAsynSocket框架应用与常见错误解析】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我最近在学习CocoaAsyncSocket,这个博客文章正好解决了我的问题!
有5位网友表示赞同!
原来还有这么多常见的错误,看来得多加注意了。
有17位网友表示赞同!
使用第三方框架开发iOS程序真是一件很有效率的事情,省了不少时间和精力。
有5位网友表示赞同!
局域网聊天室的功能还是挺酷的,以后有机会试试用CocoaAsyncSocket实现一个看看。
有8位网友表示赞同!
这篇文章写的详细,图文并茂,很容易理解。
有5位网友表示赞同!
对编程初学者来说,这篇总结很有帮助!
有17位网友表示赞同!
我之前遇到过一些类似的问题,现在一看总结就恍然大悟了!
有11位网友表示赞同!
学习iOS开发真的很需要积累经验,这类博客文章简直是宝藏啊!
有6位网友表示赞同!
希望作者能继续分享更多关于CocoaAsyncSocket的知识。
有9位网友表示赞同!
这个框架真是太方便了,可以轻松处理网络通信操作。
有17位网友表示赞同!
搭建一个局域网聊天室真的很酷炫,我现在有些跃跃欲试了!
有20位网友表示赞同!
以后遇到类似的问题,可以直接参考这篇文章总结,省时省力!
有20位网友表示赞同!
学习编程有时候就是需要不停的总结和复盘啊,这篇总结真是太实用啦!
有6位网友表示赞同!
CocoaAsyncSocket的学习成本不算低,但掌握了它的功能确实很强大。
有16位网友表示赞同!
这篇文章提醒了我要注意网络调试的时候的一些常见错误。
有8位网友表示赞同!
iOS开发真的有很多有意思的功能可以实现,局域网聊天室也是其中之一!
有16位网友表示赞同!
以后再使用CocoaAsyncSocket的时候,我一定把这篇总结作为参考指南。
有15位网友表示赞同!
感谢作者分享这份宝贵经验,让我在学习过程中少走弯路!
有18位网友表示赞同!