有空研究一下 superwebsocket (底层是 supersocket) 用来实现 web聊天什么的
参考:http://superwebsocket.codeplex.com/
一个老外写的 asp.net 下socket的多钟方案推荐 :http://www.codeproject.com/Articles/733297/WebSocket-libraries-comparison
中文翻译 http://www.admin10000.com/document/3986.html
重点节选
SuperWebsocket
http://superwebsocket.codeplex.com/
最后但并不是最不重要的是SuperWebsocket。我对这个有一点怀疑(如果我没记错的话,这仅仅是一个我通过NuGet网站发现的包,但又不是一个可用的包)。它似乎有一点复杂,但实际上它是非常简单的。有文献支持的例子帮助你一步步的从最简单的WebSocket服务器,到有命令请求,JSON,多服务器实例,.config文件配置或者更多的复杂Websocket服务器。
这个库也许没有包含所有其他库有的那些很酷的特性,但是这没关系,因为它是高度可配置的,你可以很容易的让它实现你想要的。它可以作为控制台应用程序或者windows服务运行于ASP.NET中。文献上则建议以系统服务的形式来运行服务器。从我的经验来看,建议不要在一个web应用程序里面运行它因为这种解决方案很慢(非常糟糕的表现,比控制台应用程序大约慢50倍)。从另一方面,独立的服务器应用程序,需要运行.exe结尾的文件,这个文件并不是库的一部分,但是是SuperSocket项目的一部分(SuperWebSocket就是基于这个项目的)。这使得你需要一点技巧在调试会话中开启服务器,或者完全启用调试。当你作为应用程序运行服务器的时候,虽然这不是解决方案的一部分,也需要确保服务器采用来自其他项目的最新版的组件。
作为回报,你得到了关于灵活的WebSocket的众所周知的解决方案。
它仍然是开源的所以你可以根据需要改变它。
从另一方面,你可能把这个服务器缺乏JavaScript客户端看做是它的缺点(但是它有C#客户端)。这个服务器也有第三方的依赖关系。
在使用这个库工作了几个月之后我没发现什么主要的问题。
缺点和优点:
无备用通信
依赖
优雅的特性和高度可配置性
很棒的例子
例子的都有推荐设置的文档
可以作为windows服务和ASP.NET模块和控制台应用程序运行
好的性能表现
总结
对于复杂的解决方案/项目我建议用SuperWebSocket,因为它是一个稳定而且高度可配置的库。对于简单和需要快速开发的项目我会选择Fleck,但是如果有办法使用最新的windows服务器来作为测试和生产机器的话,我会放弃使用这两个而选择SignalR。
官方网站: http://www.supersocket.net
有空研究一下 superwebsocket (底层是 supersocket) 用来实现 web聊天什么的的更多相关文章
- 深入研究Sphinx的底层原理和高级使用
深入研究Sphinx的底层原理和高级使用
- 写了几年代码了,苦苦追寻,应该沉淀下来了,好好研究。net底层框架,以及较好的分层框架
几年码农了.像沉淀下来.写一下自己的分层框架,尤其是逻辑层和orm层.数据訪问层.一切靠自己.网上一大堆框架,可是感觉各有优缺点.于是萌生了自己写适合自己的底层訪问框架?亲们,你们有适合自己的框架么?
- 有空研究一下OwnerDraw和三种Windows风格CS_OWNDC和CS_PARENTDC和CS_CLASSDC
就在StdCtrls.pas, ExtCtrls.pas和Buttons.pas三个类里研究就够了,这是初步的搜索结果: ---------- 在打开的文档中查找 ---------- "G ...
- NetLink通信原理研究、Netlink底层源码分析、以及基于Netlink_Connector套接字监控系统进程行为技术研究
1. Netlink简介 0x1:基本概念 Netlink是一个灵活,高效的”内核-用户态“.”内核-内核“.”用户态-用户态“通信机制.通过将复杂的消息拷贝和消息通知机制封装在统一的socket a ...
- 我的.gitignore下配置。存在这里一下。日后有空研究研究!
.DS_Storenode_modules/dist/yxxt/npm-debug.log*yarn-debug.log*yarn-error.log* # Editor directories an ...
- 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面
经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...
- 如何穿越到android底层
对于android开发,实际上大部分工作都是在应用层,但为了体现"技术含量",以及"知其所以然",以便在遇到问题是不至于束手无策.因此有必要了解底层的工作机制. ...
- 从底层角度看ASP.NET-A low-level Look at the ASP.NET...
从更低的角度 这篇文章在一个底层的角度来关注一个web请求怎样到达asp.net框架,从web服务器,通过ISAPI.看看这些后面发生了什么,让我们停止对asp.net的黑箱猜想.ASP.NET是一个 ...
- C#网络编程技术SuperSocket实战项目演练
一.SuperSocket课程介绍 1.1.本期<C#网络编程技术SuperSocket实战项目演练>课程阿笨给大家带来三个基于SuperSocket通讯组件的实战项目演示实例: ● 基于 ...
随机推荐
- Android 编程下的日志工具类
package com.sunzn.app.util; import android.util.Log; public class Logger { public static int DEBUG_L ...
- (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境
Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...
- [开源项目-MyBean轻量级配置框架] 使用MyBean快速搭建分模块的应用程序(主页面的TAB)(DLL-MDI)
[概述] 抱歉由于上次开源比较匆忙,没有来的及做一个DEMO,里面也有些垃圾的文件没有及时清理.DEMO其实昨天晚上已经调通.相关说明文档今天晚上才说明好,欢迎大家继续关注和交流,和大家一起分享我10 ...
- Android getWindow().setFlags方法
//设置窗体全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams ...
- javascript检测浏览器的缩放状态实现代码 是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放)
这里所说的缩放不是指浏览器大小的缩放,而是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放).检测这种缩放有很种方法,QQ空间都通过flash来检测浏览器是否处于缩放.这里提供java ...
- Windows系统盘瘦身指南
[本文出自天外归云的博客园] Windows系统的C盘空间越来越小,按以下四步进行清理,还你6个G: 1.开启腾讯管家之类的软件进行第一轮垃圾清理: 2.删除以下文件夹,"C:\Progra ...
- 这到底是什么bug?---已结贴
问题描述:全局变量,会被莫名其妙更改!打印为50,后面做比较的时候这个值为0了. 第一,我肯定没有犯低级错误,没有其他的更改,搜索全部代码,没有发现这个变量因为我程序问题导致不符合预期,同时找了两位同 ...
- Git pull error: Your local changes to the following files would be overwritten by merge:
联合开发,遇上的一个问题,果然,在此验证了百度的不靠谱,是谷歌出的答案...... stackoverflow上有解决方案,链接:http://stackoverflow.com/questions/ ...
- virtual box 5.2.12 扩展包安装
http://download.virtualbox.org/virtualbox/ 找到对应版本的virulbox去下载就可以了
- model number
// test.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...