在linux的网络编程,特别是TCP的编程中,SIGPIPE
信号错误是一个比较常见的问题,我猜测你是在使用TCP的socket吧,如果是这样的话,很有可能是你在向一个已经处于关闭状态的socket写
数据,因为TCP是面向连接的协议。如果对方将socket给close掉了,而你还继续往这个 socket写数据,就会
触发这个信号。 因此,建议你在write之前检查一下对方是否已经close掉了这个socket。 如果回答得不对,可以继续追问哈可定义一个大的char buff[2048] 大于sizeof(msg2)就行,试试
(msgrcv(iMsgid2, buff, iType, 100, 0) == -1
评论列表(0条)