connect

函数返回错误ECONNREFUSED:

如果对客户的SYN的响应是RST,则表明该服务器主机在我们指定的端口上没有进程在等待与之连接(例如服务器进程也许没有启动),这称为硬错(hard error),客户一接收到RST,马上就返回错误ECONNREFUSED.

TCP为监听套接口维护两个队列。两个队列之和不超过listen函数第二个参数backlog。

当一个客户SYN到达时,若两个队列都是满的,TCP就忽略此分节,且不发送RST.这个因为:这种情况是暂时的,客户TCP将重发SYN,期望不久就能在队列中找到空闲条目。要是TCP服务器发送了一个RST,客户connect函数将立即返回一个错误,强制应用进程处理这种情况,而不是让TCP正常的重传机制来处理。这样客户区别不了这两种情况:作为SYN的响应,意为“此端口上没有服务器”的RST还是意为“有服务器在此端口上但其队列满”的RST.

​有以下两种处理方法:忽略新的SYN,或为此SYN响应一个RST。

往一个对端已经关闭的套接字上写入数据会收到一个RST信号

如果此时不判断read , write函数的返回值,就不知道服务器是否响应了RST, 此时客户端如果向接收了RST的套接口进行写操作时,内核给该进程发一个SIGPIPE信号。此信号的缺省行为就是终止进程,所以,进程必须捕获它以免被终止。

服务器主机崩溃后重启

如果服务器主机与客户端建立连接后崩溃,如果此时,客户端向服务器发送数据,而服务器已经崩溃不能响应客户端ACK,客户TCP将持续重传数据分节,试图从服务器上接收一个ACK,如果服务器一直崩溃客户端会发现服务器已经崩溃或目的地不可达,但可能需要比较长的时间; 如果服务器在客户端发现崩溃前重启,服务器的TCP丢失了崩溃前的所有连接信息,所以服务器TCP对接收的客户数据分节以RST响应。

物理层中继系统:转发器(repeater)。

·         数据链路层中继系统:网桥或桥接器(bridge)。网桥、交换机、网卡等设备都有自己独立的MAC地址,因此都工作在数据链路层

·         网络层中继系统:路由器(router)。

·         网桥和路由器的混合物:桥路器(brouter)。

·         网络层以上的中继系统:网关(gateway)。

在计算机网络中发送电子邮件遵循的协议是,一、计算机网络刷题相关推荐

  1. 在计算机网络中发送电子邮件遵循的协议是,运行在互联网上用于电子邮件发送的协议是...

    有两个: 1.POP3即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议. 它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮 ...

  2. 如果不使用 SQL Mail,如何在 SQL Server 中发送电子邮件

    如果不使用 SQL Mail,如何在 SQL Server 中发送电子邮件 察看本文应用于的产品 文章编号 : 312839 最后修改 : 2006年12月21日 修订 : 10.1 本页 概要 SQ ...

  3. net类库中发送电子邮件的方法总结

    发送电子邮件是许多需要用户注册的网站的通用功能,通过正则表达式我们可以过滤掉不符合电子邮件格式的输入,但是仍没有办法确保用户填写的电子邮件地址一定是他本人真实有效的电子邮件地址,通常验证电子邮件真实有 ...

  4. ASP.NET 2.0中发送电子邮件

    ASP.NET 2.0中发送电子邮件 ASP.NET 2.0 中发送电子邮件变得非常简单.发送电子邮件的类库主要在命名空间System.Net.Mail中,在这个命名空间中有两个核心类是:       ...

  5. 转: SMTP 服务器无法识别在 Mac 2011 Outlook 中发送电子邮件时错误。错误 17092...

    在 Mac 2011 Outlook 中发送电子邮件时,您可能会收到下面的错误消息: 无法发送邮件. SMTP 服务器无法识别任何 Outlook 所支持的身份验证方法. 请尝试更改帐户设置中的 SM ...

  6. linux命令行发送串口_从命令行在Linux中发送电子邮件

    linux命令行发送串口 In this article, you will learn how to send emails using the popular mail commands. It' ...

  7. oracle util_mail,在oracle 10g中发送电子邮件

    小编典典 要从数据库发送电子邮件,您需要使用UTIL_SMTP或其他一些电子邮件协议进行操作.用于UTIL_SMTP创建程序如下 create or replace PROCEDURE send_ma ...

  8. 从Oracle9i中发送电子邮件

    Oracle的包utl_smtp提供了从数据库中直接发送电子邮件的功能,这里介绍一下其使用方法 网上找到的例子以及Oracle文档中的例子都没有提到authorized的问题,我的测试中使用的是 16 ...

  9. 如何在Android中发送电子邮件

    在Android中,您可以使用Intent.ACTION_SEND来调用现有的电子邮件客户端以发送电子邮件. 请参阅以下代码段: Intent email = new Intent(Intent.AC ...

最新文章

  1. 怎样使破解网页的禁止复制黏贴
  2. C与指针、C陷阱与缺陷
  3. 谈谈阿里所谓的“要性”
  4. javascript学习系列(15):数组中的lastIndexOf方法
  5. 12v驱动光耦用多大的电阻_倍思10000mAh PD快充充电宝拆解,内置多合一双向快充芯片...
  6. 地震与地球的内部构成
  7. int.Parse(),int.TryParse(),Convert.ToInt32(), (int)转换为数字类型方法简介
  8. Android系统 miui主题6,miui主题工具-miui主题工具最新版v2.6.2 安卓版_永辉资源网
  9. JAVA上传文件 DiskFileUpload组件
  10. 全国车辆限行查询api 全国限行限号数据服务
  11. 公众号及小程序的测试点
  12. Travis CI 持续集成工具 教程
  13. jqfactor_analyzer源代码解读01
  14. sigmoid/逻辑回归/多元逻辑回归/softmax 区别
  15. python安装库之----有些库库真是小妖精
  16. Android第三方支付--微信支付
  17. java-net-php-python-jspm现代化社区去也管理系统计算机毕业设计程序
  18. JavaScript报错BigNumber overflow解决方法代码
  19. win10查看端口占用情况(win10怎么查看端口占用)
  20. 985、211的他们,最终为何选择了培训?

热门文章

  1. java并发编程-----深入剖析ThreadLocal
  2. java自用代码(包括:新建单线程、创建文件夹及文件、map转为json并将json写入txt、文件剪切或改名)...
  3. [PA 2014]Kuglarz
  4. spring boot / cloud (七) 使用@Retryable来进行重处理
  5. 数据库 proc编程七
  6. Mysql复制-Slave库设置复制延迟
  7. iOS 翻译-UIWebView的基本简介-官方文档翻译
  8. 【Tech】Mac上安装MAMP打开本地网页
  9. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
  10. linux的基础知识——终端