关于"你的主机中的软件放弃了一个已建立的连接,127.0.0.1:80"的错误

本文介绍了一种在Visual Studio 2005中调试WebService时遇到的问题:尝试连接到远程服务时出现错误提示,最终发现是由McAfee杀毒软件引起的,并给出了禁用杀毒软件的解决方案。

这两天在调试一个web service的程序,在vs2005中打开引用对话框,输入http://x.x.x.x/path/xxx.asmx,点Go,下面就提示“你的主机中的软件放弃了一个已建立的连接,127.0.0.1:80",接着在IE打开也是一样的报错。

原因是由于机器上的杀毒软件在搞鬼,我禁用了McAfee,就OK了。

任务描述 本关任务:完成一个客户端程序,向服务器端发出请求,传输数据,并设置超时丢包,体验 UDP 的基本连接过程。 相关知识 为了完成本关任务,你需要掌握: 创建socket对象; 发送 UDP 数据; 接收 UDP 数据; 设置超时。 创建socket对象 创建socket对象是第一步,后续所有的操作都是通过socket对象完成的。创建对象使用socket()函数: s=socket(参数1,参数2) #s就是创建的socket对象 参数1通常为: AF_INET:面向网络 AF_UNIX:面向文件 参数2通常为: SOCK_STREAM:面向连接的 TCP 套接字 SOCK_DGRAM:面向 UDP 的无连接套接字 发送UDP数据 UDP 中一般使用socket对象的sendto(message , address)函数发送数据到某个地址: s.sendto(message, addresss) message表示待发送的信息。在网络中数据传输使用二进制的形式,因此message是bytes类型对象,我们可以使用encode()函数将字符串类型的数据编码成二进制。 在 AF_INET 下,通常以元组host, port的形式表示address,分别代表服务器端 IP 地址和端口号。 s 为你所创建的socket对象。 接收UDP数据 UDP 中一般使用socket对象的recvfrom(bufsize)函数接收来自服务器端的数据。返回值是元组(data,address)的形式: data, address = s.recvfrom(bufsize) bufsize是指定要接收的最大数据量,通常可设为1024。 data是包含接收数据的二进制串,我们要想获取其中的内容,需要使用decode()进行解码,将其还原为字符串。 address是发送数据的套接字地址,是元组host, port。 s 为你所创建的socket对象。 设置超时 UDP 中一般使用socket对象的settimeout(timeout)函数来设置超时: s.settimeout(1) s 为你所创建的socket对象。 timeout是一个浮点数,单位是秒,表示超时的边界值。timeout的值为None时表示没有超时期。一般超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作。 来自服务器端的报文一旦超时,UDP 就将该报文丢弃。 编程要求 本实训使用python3进行编程,采用 UDP 方式连接,你需要在右侧编辑器补充代码,完成客户器的功能,具体如下: 由于评测系统的服务器端文件和客户端文件位于同一台主机,我们可以使用localhost表示服务器端地址。 端口号为56789。 设置超时时长为1秒。 发送的内容为Ping x time,x表示第几次发送。 接收的内容为Receive x: from y,x表示收到第几次的报文,y为报文来源地址。(具体参考预期输出) 发生丢包时要有反馈信息,内容为Sequence x: Request timed out,x为第几次的数据报发生丢失。(具体参考预期输出) 测试说明 平台会对你编写的代码进行测试: 预期输出: Sequence 1: Request timed out Receive 2: from ('127.0.0.1', 12000)
04-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值