TCP连接connect函数返回错误
2024-10-21 13:15:08
如果是 TCP 套接字,那么调用 connect 函数将激发 TCP 的三次握手过程,而且仅在连接建立成功或出错时才返回。其中出错返回可能有以下几种情况:
- 三次握手无法建立,客户端发出的 SYN 包没有任何响应,于是返回 TIMEOUT 错误。这种情况比较常见的原因是对应的服务端 IP 写错。
- 客户端收到了 RST(复位)回答,这时候客户端会立即返回 CONNECTION REFUSED 错误。这种情况比较常见于客户端发送连接请求时的请求端口写错,因为 RST 是 TCP 在发生错误时发送的一种 TCP 分节。产生 RST 的三个条件是:目的地为某端口的 SYN 到达,然而该端口上没有正在监听的服务器(如前所述);TCP 想取消一个已有连接;TCP 接收到一个根本不存在的连接上的分节。
- 客户发出的 SYN 包在网络上引起了"destination unreachable",即目的不可达的错误。这种情况比较常见的原因是客户端和服务器端路由不通。
最新文章
- qlikview 扩展插件制作教程-EchartsGeoMap
- 梦想成真,喜获微软MVP奖项,微软MVP FAQ?
- AngularJS 的嵌套路由 UI-Router
- 【转载-pdcxs007】 Windows7配置CTex+Texmaker
- vnc
- Linux2
- NSDictionary和NSMutableDictionary
- openvpn的介绍和搭建过程
- 在Silverlight中实施RESTful调用
- mybatis知识总结
- win10怎么启用网络发现,网络发现已关闭怎么办
- SecureCRT 上传文件的两种方法 Zmodem、SFTP
- Linux指令--grep
- C语言中的atan和atan2
- 洛谷P1115 最大字段和【线性dp】
- Go语言中的slice
- 【Codeforces 113B】Petr#
- shell脚本--制作自己的服务脚本
- Docker安装Zookeeper
- 【网络编程一】主机字节序与网络字节序以及ip地址转换函数