猿问

C#使用HTTP协议调用接口,经常出现TCP第一次握手发送SYN不成功,可能什么原因?

题目描述

IIS站点下使用Restsharp.dll通过HTTP协议调用远程接口,时常发现调用失败,System.Net返回TCP错误,代码10060.

通过安装Wireshark抓包发现,Client连接服务器的TCP第一次握手,发送SYN失败,导致多次重传,仍然失败后,没有后续的HTTP请求了。

wireshark抓包如图:

尝试办法

我想的是网络请求失败,原因无非是客户端未能成功发出网络请求,或者服务端未能响应。首先怀疑是客户端未能成功发送请求,故做另外两项测试如下:

  1. 同样功能在另外的客户端上,接的第三方的API接口,使用是正常的,并没有出现该错误。(我认为此项可以说明客户端代码无误)

  2. 另外编写一个单独的接口调用程序,放到该服务器上跑,也发现同样的问题,还是TCP第一次的SYN发送失败;

疑问

那么这种情况下,是因为客户端环境引起,还是说服务器未能响应导致?请有经验的朋友支招,谢谢!


繁星淼淼
浏览 1312回答 1
1回答

千巷猫影

多半是接口服务器的问题。
随时随地看视频慕课网APP
我要回答