ShareONE 开发及OurMsg学习过程手记 (一)

消息类

通常定义“消息”类的时候,都需要标记出消息实体的长度,不用“65535”这样的数字明文来表示,看起来不专业,所以用byte[]来表示。一个byte是8位无符号整数,MSDN上的解释是“ Byte 值类型表示值介于 0 和 255 之间的无符号整数”,这就说明一个byte可以记录从0到255的数字,那么256呢,就需要用两个byte来表示,就组成了一个byte[]数组。

根据.Net Framework里边的定义,255会被BitConverter.GetBytes()方法编码成两个byte,第一个byte即byte[0]里边肯定是“11111111”,byte[1]里边是“00000000”,如果再加1变成256,byte[0]就会变成“00000000”,byte[1]进位变成“00000001”,也就是说byte数组中索引越靠后的byte越表示高位的数值。

所以,byte[2]刚好可以表示最大65535

By the way,发现一件事,由于 BitConverter.GetBytes() 方法会把每个值拆分为两个byte表示(像Unicode),所以如果是Int32的话,会被转换为byte[4]的数组,如果是Int16的话,是byte[2]。不明白,为什么?是数字又不是汉字,为什么会4个字节。

转载于:https://www.cnblogs.com/cinlap/articles/1556877.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OurMsg2014是基于.net 4.0框架C#语言编写的即时消息软件(服务器和客户端)。开发初衷是面向企业级的即时消息应用,可集成企业OA等管理信息系统。服务器网络框架采用LumiSoft.Net,支持上百万用户的连接,1台服务器可支持两万用户同时在线。服务器端数据库采用SQLite for .net4版本,并发加入单线程队列写数据库,多线程读数据库(用户规模在万人以内完全能够应对),如果想要使用SQL Server、Oracle、My sql等数据库,请自行开发,数据结构参见服务器数据库,目录:Server\Bin\OurMsgServerDB.s3db,在OurMsgServer.Server代码中,重写数据库操作事件代码的数据库访问方法即可简单实现。客户端采用SQLite数据库保存用户信息,聊天信息等,和老版本结构一样。 OurMsg可部署在广域网或局域网上。作者水平有限,抛砖引玉,还望高手批评指正!!! ourmsg 基本功能: 1、支持文本及动画表情聊天、支持离线消息。 2、支持群组聊天,支持群发通知、消息、短信等功能。 3、支持P2P文件传输、支持离线文件发送功能。 4、支持远程协助(任何屏幕大小分辨率),同一局域网内提供高清windows桌面图片的编码传输,互联网图像会经压缩,质量稍差。 5、支持P2P RTP/RTCP音视频传输,1路音频占用带宽1K-3K,1路视频占用带宽25KB左右。在下一个版本中将提供多人视频功能。保障ADSL低带宽用户能顺畅使用10路视频会议服务。 6、支持开发人员随意扩展或增加新功能(自己发挥自己的想像吧)。 7、客户端和服务端均支持所有.net4.0框架能安装的windows操作系统(X32/X64),即XP、Vista、win7、win8、win2003server、win2008server等。 8、UTF8编码的数据交换,支持多国语言。 说明:文件传输、远程协助、音频、视频的底层传输采用的是UDP P2P,提供了支持任何网络类型的NAT穿越(最坏情况下采取类TURN方式的NAT穿越方法,可穿越任何NAT,包括对称型NAT),音频、视频编码为一路,采用RTP/RTCP Over UDP P2P,最大限度保障同步传输。
Ourmsg是基于.NET框架C#语言开发的一套开源轻量级即时通讯软件,当前版本支持windows XP及以上操作系统。提供了基于C# MONO的Xamarin Android和IOS的客户端Demo。Ourmsg完成了即时通讯的基础核心功能:图片和文本混编的单聊、群聊(支持gif动画表情);支持离线消息、离线文件传输;在线UDP P2P文件传输;远程协助(远程控制);点对点音视频对话。 Ourmsg设计为服务器端和客户端(C/S)模式,服务器端数据库兼容MS SQL SERVER和MYSQL等,本程序提供了基于MS SQL SERVER和MYSQL的基础数据库。客户端数据库采用SQLite主要用于保存聊天记录。 Ourmsg适用于企事业单位以及政府机关,可与其IT系统(OA、MIS等)快速集成在一起,以提高工作效率,降低沟通成本。Ourmsg的数据传输采用了GZIP流压缩和AES 256/192、3DES 192/128位加密算法,使数据传输安全可靠。因此,Ourmsg也适合安全性要求较高的私有网络内安装部署使用。同时,Ourmsg也可部署在互联网上,提供给互联网公众用户注册使用。 由于Ourmsg基本通讯采用了长连接的Websocket,因此,你可以将支持Websocket浏览器的WEB应用程序与之集成通讯(ASP.NET、JSP、PHP等)。目前主流的浏览器均支持Websocket来集成Ourmsg服务,开发人员就可以轻松开发自己WEB IM。 利用提供的基于C# MONO的Xamarin Android和IOS的客户端Demo,你可以用Xamarin C# 快速开发出基于 Android和IOS平台的APP客户端,核心功能只需要用C# 写一次,就可以编译到Android和IOS平台,可以大大降低学习JAVA和OC的成本和缩短项目开发周期。 目前,Xamarin的开发商初创公司已经被微软收购,相信其前景一片光明。用最新版的Xamarin开发的IOS和Android APP已经非常稳定和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值