Git Product home page Git Product logo

Comments (10)

cyfdecyf avatar cyfdecyf commented on July 17, 2024

我没有 windows 程序开发经验,不太明白这些错误的意思。我不确定 Go 1.1 中对 windwos 上网络错误的 report 有没有发生变化。试试看 openvpn.net 能不能通过 COW 访问。

@glacjay 你在 windows 上用有看到过这些错误么?

from cow.

JayXon avatar JayXon commented on July 17, 2024

可以访问openvpn.net,但是一样会出现这个ERROR

from cow.

cyfdecyf avatar cyfdecyf commented on July 17, 2024

openvpn.net 能访问的话 cow 用来检测 reset 和 timeout 错误的代码应该没有出问题。

猜测这些在 windows 下属于正常错误(类似 EOF 之类的),但我没有正确的把他们忽略掉。麻烦先忽略这些错误用下看看有没有其他问题。

周末要出游,等下个星期我再看具体原因吧,得向熟悉 windows 下网络错误的人求助了。

from cow.

glacjay avatar glacjay commented on July 17, 2024

能正常用的时候我都不看命令输出的,所以也不知道,而且 Windows 电脑在公司,这周末是没法看了。

from cow.

glacjay avatar glacjay commented on July 17, 2024

据我猜测,这个是正常的吧,像是浏览器还没加载完一个页面(因为很慢之类的),这时你点了刷新,就相当于强制让浏览器断开之前的连接,新建一个连接并重发请求来加载同一个页面吧,这样就 An established connection was aborted by the software in your host machine 了。

from cow.

cyfdecyf avatar cyfdecyf commented on July 17, 2024

在 Mac 和 Linux 上一般不会出这样的错误信息,强制停止/刷新只有在打开 debug 时会报 broken pipe,而且是发生在向 client 写操作时。这里的错误信息看起来是从 server 读,但从错误 message 来看应该是向 client 写的时候发生的。

函数 handleServerReadError 中处理了 EOF, reset, timeout 这三种错误,其他错误会报 unhandled server read error。能正常翻墙的话 reset, timeout 应该是正确处理了。

猜测这里可能有两个问题:

  1. Windows 上判断网络错误对应的操作是读还是写跟 Unix 上不同
  2. Window 上服务器正常断开连接会产生 EOF 以外的错误
    • 可以在这个函数里参考 proxy_windows.go 中的代码用 reflect 包获取错误的类型等信息来看看

如果问题 1 成立,则这里可能只是误把 client write 操作的错误当成了 server read 错误而不存在问题 2;当然也有可能两个问题都存在。

from cow.

JayXon avatar JayXon commented on July 17, 2024

刚才测试了一下,Win上把Chrome的代理设置成cow,然后下载一个文件(2.3M),下载到0.5M时点击取消,这时就会看到这个错误,显示的网址就是我刚才下载的那个文件的网址

from cow.

cyfdecyf avatar cyfdecyf commented on July 17, 2024

@JayXon 那看来问题 1 的可能性很大,我找时间验证一下。

from cow.

cyfdecyf avatar cyfdecyf commented on July 17, 2024

Windows 上网络读写操作的名字是 WSARecv 和 WSASend,判断是读还是写的时候应该用这两个名字。

c�ommit dfcea8c fix 了这个问题,google code 上传了更新的 windows binary,版本为 0.6.2u1,麻烦测试下看看。

from cow.

JayXon avatar JayXon commented on July 17, 2024

重复了上次测试没有出现错误

from cow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.