Skip to content

v1.0.9 does not run on windows 7 #1

Open

Description

@techcap

When called ConnectAsync, it raises ArgumentNullException.
It is because ClientWebSocket.Options.Cookies is null.
On v1.0.4, there was no problem on ConnectAsync.

Activity

  1. leszekm1 commented on Nov 21, 2017

    @leszekm1

    Even if you fix the Cookies not to be null it still does not work on Win7 since 1.0.9 was switched from using TCP socket implementation to using HttpClientHander which exposes a read/write stream on Windows 8+ and a read-only stream on Win7 and constructing a web socket on top that stream fails in Win7. You need to revert "WebSocketHandle.Managed.cs" to the June 30th implementation and then it will work on Win7 since it sits on top of TCP stack and not HTTP stack.

  2. leszekm1 commented on Nov 23, 2017

    @leszekm1

    I've looked into this a bit more. The previous version of "WebSockethandle.Managed.cs" had its own implementation of a bare bone HTTP stack (just enough to establish a web socket) on top of TCP. The current version was moved to be on top of HttpClientHander. From the README file of the corefx project:
    "The shipping version of HttpClientHandler is a wrapper for WinHTTP on Windows and libcurl on Unix."
    Well, the WinHTTP native stack in Win7 is not duplex and will never be able to support web sockets so the move to use HttpClientHandler permanently broke Win7 compatibility.

  3. leszekm1 commented on Nov 23, 2017

    @leszekm1

    For now I'm using 1.0.9 code base with the last available version of the "WebSocketHandle.Managed.cs" file that had its own HTTP stack. Since some of our clients are large corporations with domain join Win7 machines. Those corporations have firewalls with build-in web proxies that only allow authenticated domain users to go through and our socket.io based services live in the cloud. I'm currently adding proxy support and automatic proxy authentication based on the logged on user's credentials to that version of the file. If there is an interest I' will create a pull request to bring back Win7 compatibility and have proxy + automatic proxy auth support.

  4. techcap commented on Nov 24, 2017

    @techcap
    Author

    Because of the problem of v1.0.9, I downgraded to v1.0.7 and now it's on test.
    If you create PR for fixing the problem, it will be really great!!

  5. leszekm1 commented on Nov 28, 2017

    @leszekm1

    PR created.

  6. techcap commented on Nov 28, 2017

    @techcap
    Author

    v1.0.12, released on nuget, still doesn't support win7.

  7. leszekm1 commented on Nov 28, 2017

    @leszekm1

    The PR hasn't been accepted yet, so there is no new nuget version that has win7 support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions