当前位置:  技术问答>linux和unix

网络通信SIGPIPE信号问题

    来源: 互联网  发布时间:2016-04-29

    本文导语:  如果我循环调用writev函数客户端给服务端发信,服务器拒收,并切断socket。那么客户端是不是不会立刻收到服务器发过来的fin包(我对接到fin包的处理是客户端也切断socket)。而是会writev几次?那么如果发信的时候恰...

如果我循环调用writev函数客户端给服务端发信,服务器拒收,并切断socket。那么客户端是不是不会立刻收到服务器发过来的fin包(我对接到fin包的处理是客户端也切断socket)。而是会writev几次?那么如果发信的时候恰好服务端socket已经切断了,那么会发生什么?收到SIGPIPE信号么?

|
What happens if the client ignores the error return from readline and writes more data to the server? 

This can happen, for example, if the client needs to perform two writes to the server before reading anything back, with the first write eliciting the RST.

The rule that applies is: When a process writes to a socket that has received an RST, the SIGPIPE signal is sent to the process. (second write)

The default action of this signal is to terminate the process, so the process must catch the signal to avoid being involuntarily terminated.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 网络通信编程的困惑
  • 开源网络通信加密协议 Tcpcrypt
  • Linux下的网络通信架构 cwinux
  • 请教网络通信高手~~~~
  • 轻量级网络通信框架 nSocket
  • linux和WINDOWS程序之间的网络通信是不是特别慢?
  • linux网络通信的问题
  • 【不看后悔】UNIX网络通信一大疑难问题
  • linux下网络通信使用接受函数recv()问题?
  • 高分求助:内核模块编程中如何实现网络通信
  • 嵌入式 linux开发中,加入网络通信代码后,ARM9启动后在超级终端打印出错误信息,请帮忙解决!谢谢
  • Linux网络编程(怎样实现两个客户端之间的通信)
  • 关于网络通信中recvfrom和sendto的用法
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • 我要做一个网络通信的程序,会涉及到从几个连接接收数据,然后整合
  • 关于网络编程客户端与服务器通信的问题
  • linux下socket网络通信 得不到客户端IP地址
  • Socket通信中怎样探测对方网络已经出错?
  • 基于java TCP网络通信的实例详解
  • android 网络编程之网络通信几种方式实例分享


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3