{"id":1508,"date":"2016-08-25T17:44:17","date_gmt":"2016-08-25T21:44:17","guid":{"rendered":"http:\/\/codinggorilla.domemtech.com\/?p=1508"},"modified":"2016-08-30T08:58:20","modified_gmt":"2016-08-30T12:58:20","slug":"resources-for-c-websockets","status":"publish","type":"post","link":"http:\/\/165.227.223.229\/index.php\/2016\/08\/25\/resources-for-c-websockets\/","title":{"rendered":"Resources for C# WebSockets"},"content":{"rendered":"<p>WebSockets\u00c2\u00a0is a communication protocol on TCP between\u00c2\u00a0a web browser (or other client) and a server. It is full-duplex, event-driven. One important advantage of the technology is the elimination of the client polling of the server.\u00c2\u00a0The following post lists some\u00c2\u00a0resources for C# WebSockets (<a href=\"#1\">1<\/a>).<\/p>\n<h3>C#\/WebSocket Resources<\/h3>\n<ul>\n<li>System.Net.WebSockets (client only)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/System.Net.WebSockets\/\">https:\/\/www.nuget.org\/packages\/System.Net.WebSockets\/<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\">First release Monday, June 27, 2016<\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.infoworld.com\/article\/3088338\/application-development\/how-to-work-with-web-sockets-in-net.html\">http:\/\/www.infoworld.com\/article\/3088338\/application-development\/how-to-work-with-web-sockets-in-net.html<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\">Cannot target NET Portable 4.5 framework.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>WebSocket4Net (client only)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/websocket4net.codeplex.com\/\">http:\/\/websocket4net.codeplex.com\/<\/a>,\u00c2\u00a0Last updated\u00c2\u00a0Wednesday, August 24, 2016<\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/WebSocket4Net\">https:\/\/www.nuget.org\/packages\/WebSocket4Net<\/a>,\u00c2\u00a0Last updated\u00c2\u00a0Wednesday, August 24, 2016<\/span><\/li>\n<li><span style=\"font-size: 10pt;\">Cannot target NET Portable 4.5 framework.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>WebSocket Portable (client only, deprecated, see WebSockets.PCL)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/github.com\/NVentimiglia\/WebSocket.Portable\">https:\/\/github.com\/NVentimiglia\/WebSocket.Portable<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/WebSocket.Portable.Core\/\">https:\/\/www.nuget.org\/packages\/WebSocket.Portable.Core\/<\/a>,\u00c2\u00a0Last updated\u00c2\u00a0Monday, October 5, 2015<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>WebSockets.PCL (client)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/github.com\/NVentimiglia\/WebSockets.Pcl\">https:\/\/github.com\/NVentimiglia\/WebSockets.Pcl<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/Websockets.Pcl\/\">https:\/\/www.nuget.org\/packages\/Websockets.Pcl\/<\/a>, last updated Friday, March 25, 2016<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Fleck (server only)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/github.com\/statianzo\/Fleck\">https:\/\/github.com\/statianzo\/Fleck<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/Fleck\/\">https:\/\/www.nuget.org\/packages\/Fleck\/<\/a>, last updated Monday, July 20, 2015<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>WebSocketListener (server)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/vtortola.github.io\/WebSocketListener\/\">http:\/\/vtortola.github.io\/WebSocketListener\/<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/vtortola.WebSocketListener\/\">https:\/\/www.nuget.org\/packages\/vtortola.WebSocketListener\/<\/a>, last updated August 21, 2016<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>SuperWebSocket (server)\n<ul>\n<li><span style=\"font-size: 10pt;\">At least two versions, both of which seem unmaintained since 2014.<\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/SuperWebSocket\/\">https:\/\/www.nuget.org\/packages\/SuperWebSocket\/<\/a><\/span>\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/superwebsocket.codeplex.com\/\">https:\/\/superwebsocket.codeplex.com\/<\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/SuperWebSocketNETServer\/\">https:\/\/www.nuget.org\/packages\/SuperWebSocketNETServer\/<\/a><\/span>\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/superwebsocket.codeplex.com\/\">http:\/\/superwebsocket.codeplex.com\/<\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>SuperSocket (server)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.supersocket.net\/\">http:\/\/www.supersocket.net\/<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/supersocket.codeplex.com\/releases\/view\/620564\">http:\/\/supersocket.codeplex.com\/releases\/view\/620564<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\">Last updated\u00c2\u00a0<span id=\"ReleaseModifierDateLiteral\" class=\"smartDate dateOnlyNoShort\" title=\"3\/24\/2016 4:24:57 AM\">March 24, 2016<\/span><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Owin.WebSocket (server only)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/Owin.WebSocket\/\">https:\/\/www.nuget.org\/packages\/Owin.WebSocket\/<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\">Updated in January 2016<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>PowerWebSockets (proprietary, client and server)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.noemax.com\/powerwebsockets\/\">https:\/\/www.noemax.com\/powerwebsockets\/<\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>XSockets (proprietary)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/xsockets.net\/\">https:\/\/xsockets.net\/<\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>websocket-sharp\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/github.com\/sta\/websocket-sharp\">https:\/\/github.com\/sta\/websocket-sharp<\/a>, last updated August 24, 2016<\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/WebSocketSharp\">https:\/\/www.nuget.org\/packages\/WebSocketSharp<\/a> (pre-release, newer available)<\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/sta.github.io\/websocket-sharp\/\">http:\/\/sta.github.io\/websocket-sharp\/<\/a><\/span><\/li>\n<li><span style=\"font-size: 10pt;\">$15?<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>SocketRocket (client)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.nuget.org\/packages\/Square.SocketRocket\/\">https:\/\/www.nuget.org\/packages\/Square.SocketRocket\/<\/a>, last updated\u00c2\u00a0Tuesday, July 26, 2016<\/span><\/li>\n<li><span style=\"font-size: 10pt;\"><a href=\"https:\/\/github.com\/mattleibow\/square-bindings\">https:\/\/github.com\/mattleibow\/square-bindings<\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>SignalR (client and server, ASP.NET)\n<ul>\n<li><span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.asp.net\/signalr\">http:\/\/www.asp.net\/signalr<\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Articles on Web Sockets<\/h3>\n<p><span style=\"font-size: 10pt;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc6455\">https:\/\/tools.ietf.org\/html\/rfc6455<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"https:\/\/tools.ietf.org\/html\/rfc7936\">https:\/\/tools.ietf.org\/html\/rfc7936<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/WebSocket\">https:\/\/en.wikipedia.org\/wiki\/WebSocket<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"https:\/\/www.websocket.org\/\">https:\/\/www.websocket.org\/index.html<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"https:\/\/en.wikipedia.org\/wiki\/Comparison_of_WebSocket_implementations\">https:\/\/en.wikipedia.org\/wiki\/Comparison_of_WebSocket_implementations<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.codeproject.com\/Articles\/1063910\/WebSocket-Server-in-Csharp\">http:\/\/www.codeproject.com\/Articles\/1063910\/WebSocket-Server-in-Csharp<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.codeproject.com\/Articles\/617611\/Using-WebSocket-in-NET-4-5-Part-1\">http:\/\/www.codeproject.com\/Articles\/617611\/Using-WebSocket-in-NET-4-5-Part-1<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.codeproject.com\/Articles\/618032\/Using-WebSocket-in-NET-Part\">http:\/\/www.codeproject.com\/Articles\/618032\/Using-WebSocket-in-NET-Part<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.codeproject.com\/Articles\/619343\/Using-WebSocket-in-NET-Part\">http:\/\/www.codeproject.com\/Articles\/619343\/Using-WebSocket-in-NET-Part<\/a><\/span><br \/>\n<span style=\"font-size: 10pt;\"><a href=\"http:\/\/www.codeproject.com\/Articles\/620731\/Using-WebSocket-in-NET-Part\" target=\"_blank\">http:\/\/www.codeproject.com\/Articles\/620731\/Using-WebSocket-in-NET-Part<\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>Note:<\/p>\n<ol>\n<li><a id=\"1\"><\/a>Initial list\u00c2\u00a0from\u00c2\u00a0http:\/\/stackoverflow.com\/questions\/33467089\/net-websocket-client-and-server-library<\/li>\n<li>Although it was <a href=\"http:\/\/stackoverflow.com\/questions\/30814239\/is-it-possible-to-do-cross-platform-websocket-code-in-xamarin\" target=\"_blank\">suggested\u00c2\u00a0in a StackOverflow.com discussion<\/a> to use &#8220;<a href=\"https:\/\/github.com\/rdavisau\/sockets-for-pcl\" target=\"_blank\">Sockets for PCL<\/a>&#8220;, that is not a viable solution because the library\u00c2\u00a0is for TCP sockets not WebSockets.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WebSockets\u00c2\u00a0is a communication protocol on TCP between\u00c2\u00a0a web browser (or other client) and a server. It is full-duplex, event-driven. One important advantage of the technology is the elimination of the client polling of the server.\u00c2\u00a0The following post lists some\u00c2\u00a0resources for C# WebSockets (1). C#\/WebSocket Resources System.Net.WebSockets (client only) https:\/\/www.nuget.org\/packages\/System.Net.WebSockets\/ First release Monday, June 27, 2016 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/165.227.223.229\/index.php\/2016\/08\/25\/resources-for-c-websockets\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Resources for C# WebSockets&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/posts\/1508"}],"collection":[{"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/comments?post=1508"}],"version-history":[{"count":0,"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/posts\/1508\/revisions"}],"wp:attachment":[{"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/media?parent=1508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/categories?post=1508"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/165.227.223.229\/index.php\/wp-json\/wp\/v2\/tags?post=1508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}