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

connect()问题

    来源: 互联网  发布时间:2016-11-05

    本文导语:  在客户端 connect()链接成功了, 但是用send()给服务器发数据时,程序直接终止了, 网上说,如果断开链接了,调用send()发送数据时,会产生SIGPIPE信号,而这个信号默认是终止进程, 我用signal()接收这个信...

在客户端 connect()链接成功了,
但是用send()给服务器发数据时,程序直接终止了,
网上说,如果断开链接了,调用send()发送数据时,会产生SIGPIPE信号,而这个信号默认是终止进程,
我用signal()接收这个信号,果然发现当掉用send()时长生了这个信号,
但是connect()已经链接成功了,但为什么又断开了呢?怎么回事呢?
我是在虚拟机上运行的,一个虚拟机运行服务器程序,一个运行客户端程序。
(客户端和服务端运行在一个机子上时可以正常运行)

|
signal(SIGPIPE,SIG_IGN);	//忽略管道错误

|
“用send()给服务器发数据时,程序直接终止了,”我觉得有可能的一个原因是,你的缓冲区在写数据的时候越界了,导致了程序访问了非法内存,所以程序终止掉了。
检查一下你发送数据的缓冲区。

|
连接断开后,数据无论如何也发不到服务器了..
是不是连接建立很长时间了了,一直没有数据传输??

|
“但是connect()已经链接成功了,但为什么又断开了呢?怎么回事呢?”
这个很正常啊!就像你昨天已经吃过饭了,今天怎么又饿了呢?

你写一个读端已经不存在的管道当然要产生SIGPIPE信号了。

|
建议直接用read,write 进行操作。

|
信号处理的问题,当数据发生出现异常,信号会终止当前程序
默认信号值是0

|

同意!

方便的话,把代码贴出来看一下。

|
可能内存越界了

|
关键问题应该是connect后为什么会断开

如果没断开,发数据就不会产生sigpipe信号

可能程序退出的原因并不是连接断开了,而是数据越界了

    
 
 

您可能感兴趣的文章:

  • socket编程,关于connect阻塞问题
  • TCP connect 相关问题
  • 关于connect的问题
  • 关于Socket中connect连接host的超时问题,急!!!
  • 异步connect的问题,27日18:00前结账。
  • QT中connect()de 问题
  • Websphere下的数据库连接,connection pool问题
  • linux系统下connect:Resource temporarily unavailable问题?
  • 关于socket Connection time out的问题(ARM)
  • 求教connection的问题!谢谢
  • qt中的connect函数的问题?
  • socket编程connect的问题
  • 巨弱问题,关于connect refused
  • mysql的connect的问题(有关c编程的)
  • g_signal_connect的问题
  • 求救:Linux连接总是报:connection reset by peer问题!!!
  • 关于网络编程中SOCKET CONNECTION释放的问题 -100 cents
  • Connection reset by peer: JVM_recv in socket input stream read这个问题到底怎么解决??
  • I/O故障java.net.ConnectException: Connection refused: connect iis7站长之家
  • 对映射端口的connect问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.rmi.corba接口stubdelegate的类成员方法: connect定义及介绍
  • I/O故障java.net.ConnectException: Connection refused: connect
  • java命名空间java.sql接口connection的类成员方法: gettransactionisolation定义及介绍
  • vnc4提示unable to connect to host:Connection refused (10061)
  • java命名空间javax.rmi.corba接口portableremoteobjectdelegate的类成员方法: connect定义及介绍
  • 我新安装了proftp,但是客户端连接时,出现ftp:connect:Connection refused
  • java命名空间java.sql接口connection的类成员方法: settransactionisolation定义及介绍
  • 解析mysql中max_connections与max_user_connections的区别
  • java命名空间javax.management.remote.rmi类rmiconnector的类成员方法: connect定义及介绍
  • mysql_connect(): Connection using old (pre-4.1.1) authentication protocol refused
  • java命名空间java.net类urlconnection的类成员方法: connect定义及介绍
  • 《UNIX网络编程》第一个例子出现“connect error: Connection refused”错误提示信息?
  • java命名空间javax.management.remote接口jmxconnector的类成员方法: connect定义及介绍
  • unp(3rd) 非阻塞connect Web客户程序,connect()无法成功
  • java命名空间java.sql接口connection的类成员方法: clearwarnings定义及介绍
  • Google Friend Connect
  • java命名空间java.nio.channels类selectionkey的类成员方法: op_connect定义及介绍
  • 如何得到一个CONNECTION
  • java命名空间java.net类datagramsocket的类成员方法: connect定义及介绍
  • connection refused 及 showmount 错误
  • java命名空间java.sql接口connection的类成员方法: isreadonly定义及介绍
  • 如何解决cannot connect to X server :0.0


  • 站内导航:


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

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

    浙ICP备11055608号-3