I came across this very popular question (48k views) that was asked back in 2010. Having done some prior reading on the IETF spec for the WebSocket Protocol, I could tell that the question, and the accepted answer deal with a version of the protocol that is seriously outdated. Since there is no mention of the version of the protocol that is being discussed, this will lead to a lot of confusion as is evident in this comment posted in 2012 (and up-voted at some point). The IETF spec for the current protocol version was drafted in 2011, so it is obvious that this user is dealing with current implementations of this protocol but looking for answers in the wrong place.

I believe there must be other similar questions that will lend to this confusion. What can be done to mitigate or prevent this confusion for people who are not aware of the different versions of the protocol? There are the deprecated and obsolete tags, but I believe they are meant to be used for asking questions about deprecated or obsolete aspects of a certain technology, and not to mark old questions as such.

In a scenario like this, if another question exists that is dealing with the same subject but with information that is current, is there a way to flag the old question to be marked as obsolete (just like questions can be flagged as duplicates) with a reference to the question that has fresh information?


1 Answer 1


Part of the problem with that question is the title of the question:

C# Websocket Server

which, when seen in the results of a Google Search, gives the impression that it is a tutorial, rather than the troubleshooting question that it actually is.

I've changed the title to:

Websocket server: onopen function on the web socket is never called

which more accurately represents the actual question that was asked. From that perspective, having the code in its original form makes more sense, since changing the code to make it more "modern" would actually invalidate the question.

  • That is a good observation. The edit does bring more perspective to the actual subject matter. However, both the question and the accepted answer cover the handshake mechanism which happens to be outdated. The question is tagged with "websocket" which will, I presume, have some bearing on search results and attract people who might not be concerned with the onopen function in particular but might be interested in a c# implementation of websockets, both of which are tags. Nov 7, 2013 at 18:50
  • Other technologies have versioned tags (eg. c#-4.0, c#-5.0) that will prevent such confusion. What can be done for tags that are not versioned? Nov 7, 2013 at 18:51
  • OK, but the code and the answer are based on a point in time in the past, not in the present, and visitors know that because every post is dated. If it really bothers you, put a note at the top of the question in a quote block that says the coding techniques in the post may be outdated.
    – user102937
    Nov 7, 2013 at 18:52
  • Assuming that the visitors know that the technology has changed based on timestamps will clearly not hold true for every user (consider the comment I linked to in my question). I can, as you've suggested, put a note indicating the obsolete nature of the posts, however, I was wondering if there could be a standard way of dealing with this kind of a situation? There is obviously a good precedent in versioned tags helping avoid such confusion. Nov 7, 2013 at 19:15
  • Version tags only work if there's a versioning convention for the technology, and not all versioning schemes work the same way. Versions in tags have more to do with what feature set is available in the technology than they do with norms in coding practice. C#, for example, added Linq features in Version 3.0, but those features correspond to the enhancements made to .NET Framework Version 3.5.
    – user102937
    Nov 7, 2013 at 19:19
  • Valid point. But, in the same vein, the protocol spec has evolved over the several iterations with some aspects added or changed. This obviously means implementation details will change too. Call it version, or draft revision, the outcome is the same - implementation details change. There must surely be a way of dealing with this in a standard way? Nov 7, 2013 at 19:41
  • The implementation details were valid at the time the question was posted. There is some onus on the reader to evaluate the veracity of the information that he is reading, and the timeliness of it. Nobody fastidiously updates the old information they post, here or anywhere else.
    – user102937
    Nov 7, 2013 at 19:42
  • OK, let's forget old posts, consider what could be a good way of dealing with this going forward. I haven't reached the "create tags" milestone on SO yet so I'm not sure how the process works. But, is there a way for a newly created tag to be peer-reviewed to ensure that if the tag doesn't include version/revision/level information, then it's truly version/revision/level agnostic? Doing this would not only promote awareness, but also encourage the use of appropriate tags. Nov 7, 2013 at 20:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .