iOS 第三方框架CocoaAsynSocket编写的局域网聊天室(常见错误汇总)

CocoaAsynSocket编写的局域网聊天室Demo

在做iOS 客户端 Server-Client项目的时候,需要Client登录和长连接。所以,网络和socket的问题,变得重要起来。

在网上查阅找一些资料,供网友参考,下面是遇到的一些错误码:

* Domain=NSPOSIXErrorDomain Code = 51 "Network is unreachable"

* Domain=NSPOSIXErrorDomain Code = 54 "Connection reset by peer" 连接复位 "在连接断开后的读和写操作引起的"

* Domain=NSPOSIXErrorDomain Code = 57 "Socket is not connected"

* Domain=NSPOSIXErrorDomain Code = 60 "Operation timed out"

* Domain=NSPOSIXErrorDomain Code = 61 "Connection refused"

* Domain=NSPOSIXErrorDomain Code = 65 "No route to host"

* 更多的错误码在 #include <sys/errno.h>里

Domain=NSPOSIXErrorDomain Code = 65 "No route to host"

网上

以上摘自:http://stackoverflow.com/questions/3635412/intermittent-no-route-to-host-on-ios-flight-mode-off-then-on-fixes

Domain=NSPOSIXErrorDomain Code = 57 "Socket is not connected"

通常是网络立即断开,比如切换为“飞行模式”,立即得到一个Socket is not connected。
Domain=NSPOSIXErrorDomain Code = 60 "Operation timed out"

【问题】提示POSIX:Operation timed out?!!!怎么解决 啊??
【解决】:

● 连接超时,注意是局域网版本。真机调试时要确定手机和电脑是在同一个局域网内。


Domain=NSPOSIXErrorDomain Code = 61 "Connection refused"

看到书上的代码中一般建立一个socket连接,进行一次send、recv,然后close(socket)。现在在一次连接中进行了两次send、recv,然后就发现在进行大概二三十次的重复过程后,就会出现connect failed,connection refused的提示,网上查资料时说出现connection refused一般是因为服务器的端口没有打开,可是端口是开着呀,不知道怎么回事了!是不是因为在一次连接中进行了两次收发数据的原因呢?因为在之前进行一次收发数据的时候是很稳定的,盼cu的高手来指点一下。

如果是客户端去连接对应服务端的端口,肯定需要服务端的端口开着的。我估计你的服务端也是自己写的。

1、可能是客户端连接后没有close,次数一多,服务端没资源提供服务而连接不上,你的情况close了,而且20~30次不会是这种问题。

2、服务端没开,你所说的端口是开着的我不是很相信,我觉得更多的可能是你的服务端不健壮,你用客户端send了几次后把服务端的程序给搞死了。

3、第三种可能就是网络问题,我觉得可能性不大。

综上,我认为是2情况导致,你下次模拟重现的时候,如果再发生你说的情况,请到你开服务端的程序看看,看是不是被搞死了。

Domain=NSPOSIXErrorDomain Code = 51 "Network is unreachable"

当前设备没有网络,然后执行连接操作,就会有报51的错误。
Domain=NSPOSIXErrorDomain Code = 54 "Connection reset by peer"

找遍了中英文的一些网站,搜遍了能找的每个角落,发现了出现这种状况的原理,该异常在客户端和服务器端都有可能发生,引起该异常的原因有两个: 

1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。 

2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。 

简单的说就是在连接断开后的读和写操作引起的。

上面一段摘自:http://phl.iteye.com/blog/1883742

TCP机制中,socket连接的双方都可以调用close()之类的函数退出当前连接,TCP根据改进了的三次握手机制通知另一方也退出当前连接。这个过程可以看做是正常socket连接的一部分。同时,TCP提供一种复位机制,在一方的程序遇到异常情况断开此次连接后,会向对方发送重置报文。复位是即时的退出,并清理此次连接相关的所有资源。

所以出现Connection reset by peer的原因是对端服务器异常退出了此次连接。

客户端遇到这种情况,只有重新和服务器端建立连接。我遇到的这种情况下,有时要重试5次左右才能够正常连接上。

上面一段摘自:http://blog.csdn.net/shaovey/article/details/4678717
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,332评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,930评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,204评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,348评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,356评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,447评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,862评论 3 394
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,516评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,710评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,518评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,582评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,295评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,848评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,881评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,121评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,737评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,280评论 2 341

推荐阅读更多精彩内容