上周开发了一个多线程处理的服务端应用程序,我自己测试时没发现什么问题。但和别人写的客户端连接程序进行联测时,服务端程序总是莫明其妙的死掉。因为是第一次开发这么大的多线程应用程序并且相关的客户端开发人员对他实用的技术也不太熟悉,错误不知到底出现在什么地方。
我开始查找socket编程及unix网络编程相应的接口函数,进行各种各样的测试。力尽艰辛终于发现是调用write函数时,写了一个对端已关闭的通道,引发了epipe信号。找到原因之后剩下的就好处理了。
我开始查找socket编程及unix网络编程相应的接口函数,进行各种各样的测试。力尽艰辛终于发现是调用write函数时,写了一个对端已关闭的通道,引发了epipe信号。找到原因之后剩下的就好处理了。