如果是 TCP 套接字,那么调用 connect 函数将激发 TCP 的三次握手过程,而且仅在连接建立成功或出错时才返回。其中出错返回可能有以下几种情况:

  1. 三次握手无法建立,客户端发出的 SYN 包没有任何响应,于是返回 TIMEOUT 错误。这种情况比较常见的原因是对应的服务端 IP 写错。
  2. 客户端收到了 RST(复位)回答,这时候客户端会立即返回 CONNECTION REFUSED 错误。这种情况比较常见于客户端发送连接请求时的请求端口写错,因为 RST 是 TCP 在发生错误时发送的一种 TCP 分节。产生 RST 的三个条件是:目的地为某端口的 SYN 到达,然而该端口上没有正在监听的服务器(如前所述);TCP 想取消一个已有连接;TCP 接收到一个根本不存在的连接上的分节。
  3. 客户发出的 SYN 包在网络上引起了"destination unreachable",即目的不可达的错误。这种情况比较常见的原因是客户端和服务器端路由不通。

最新文章

  1. qlikview 扩展插件制作教程-EchartsGeoMap
  2. 梦想成真,喜获微软MVP奖项,微软MVP FAQ?
  3. AngularJS 的嵌套路由 UI-Router
  4. 【转载-pdcxs007】 Windows7配置CTex+Texmaker
  5. vnc
  6. Linux2
  7. NSDictionary和NSMutableDictionary
  8. openvpn的介绍和搭建过程
  9. 在Silverlight中实施RESTful调用
  10. mybatis知识总结
  11. win10怎么启用网络发现,网络发现已关闭怎么办
  12. SecureCRT 上传文件的两种方法 Zmodem、SFTP
  13. Linux指令--grep
  14. C语言中的atan和atan2
  15. 洛谷P1115 最大字段和【线性dp】
  16. Go语言中的slice
  17. 【Codeforces 113B】Petr#
  18. shell脚本--制作自己的服务脚本
  19. Docker安装Zookeeper
  20. 【网络编程一】主机字节序与网络字节序以及ip地址转换函数

热门文章

  1. CodeGym自学笔记07——入门Java书籍
  2. jinkens设置工作主目录
  3. Svn Linux 启动
  4. Pytest 固件
  5. CH32F103C8T6调试口Disable后的修复办法
  6. 使用vue渲染大量数据时应该怎么优化?
  7. 26 docker 安装 solr
  8. 问题记录_IDEA启动报错:Failed to create JVM. JVM Path
  9. 通过Python获取cpu、硬盘和主板等硬件序列号组成的唯一识别码
  10. SignalR v3.1.3.js [支持微信小程序]