IOS开发——Xcode调试SIGPIPE信号解决办法
来源:互联网 发布:兄弟连php视频 百度云 编辑:程序博客网 时间:2024/05/29 12:35
一、相关概念
首先说明一下SIGPIPE的含义:向无读者的PIPE写数据。这句话相当拗口,形象点表达就是:
一个程序调用send函数向服务器发送数据,在这个过程中,服务器接受数据的服务突然挂掉了,那么这个程序的send函数发送的数据就没有了接收者,因此内核就会向该程序发送SIGPIPE信号。
二、解决方案
Ios开发在使用Xcode调试时,signal(SIGPIPE,SIG_IGN);等对信号的操作是无效的;
遇到该问题有两个解决方案:
1、 不适用Xcode调试;
2、 修改send函数的socket属性,用setopt()增加socket属性SO_NOSIGPIPE;
三、叨叨
之前在调试ios应用时出现了一个bug,即向服务器回传视频流时,服务器因为负荷过重可能会自动重启,因此我的应用使用send函数发送数据经常会出现发送失败。而在Xcode上调试,一发送失败进程就会收到SIGPIPE而被终止。即便在main函数添加了signal(SIGPIPE, SIG_IGN);进程依旧会因为收到SIGPIPE而终止;涉及到通信,大家都觉得自己的服务/应用没有问题,此问题至少花了3小时。
当然,当时服务器也确实有点问题,负载100%,根本处理不过来发过去的视频流。
0 0
- IOS开发——Xcode调试SIGPIPE信号解决办法
- [iOS编程-XCode Debug忽略SIGPIPE信号
- [iOS编程-XCode Debug忽略SIGPIPE信号
- iOS编程-XCode Debug忽略SIGPIPE信号
- iOS开发笔记之十四——Xcode 6.0.1下出现Thread 1: signal SIGPIPE问题的参考解决方案
- iOS开发socket程序被SIGPIPE信号Terminate的问题
- iOS开发socket程序被SIGPIPE信号Terminate的问题
- iOS 开发中 SIGPIPE信号的分析跟处理
- Xcode开发调试技巧—断点调试
- Xcode开发调试技巧—断点调试
- SIGPIPE信号
- SIGPIPE信号
- SIGPIPE信号
- SIGPIPE信号
- SIGPIPE信号
- SigPipe信号
- SIGPIPE信号
- SIGPIPE信号
- crtmpserver基础类介绍
- C++用new和不用new创建类对象区别
- php整理文档分类到一定格式(多数据时候方便)
- 变量,小学生数学与简单的交互
- crtmpserver基本流程介绍
- IOS开发——Xcode调试SIGPIPE信号解决办法
- hdu 1568关于斐波那契数列的公式及其思维技巧
- Linux流量监控工具 - iftop (最全面的iftop教程)
- IOS的UITextField,UIButton,UIWebView的一些属性介绍和IOS图片资源的使用技巧
- 图论_单源最短路径_Dijkstra
- 不多言语的温淡女子。
- 《c++primer》第15章面对对象程序设计习题解答
- ubuntu虚拟机与mac os的文件共享
- C#中, 动态的将图片传递给ReportViewer中的报表. - 自动打印