- 博客(58)
- 资源 (14)
- 收藏
- 关注
原创 NetworkComms网络通信框架配套CodeSmith模板使用简介
NetworkComms网络通信程序开发过程中,与数据库的交互部分,很多代码我们采用CodeSmith模板来生成。此套CodeSmith模板目前只支持sql server 数据库模板下载地址: 【模板下载】分享我所使用的数据库框架我们以Sql server数据库为例 简单的看一下如何使用CodeSmith模板生成相关文件首先双击打开模板文件
2015-02-28 13:21:41 747
原创 客户端通过TCP通信分页从服务器获取数据
本文主要探讨,客户端如何通过TCP通信,根据分页信息从服务器获取到相关数据通常情况下,数据可能很多,比如几千或者几万条,并不适合一次性从服务器获取。我们只从服务器获取当前页的数据 和数据库中记录总数以便我们可以在客户端计算出页数 ,当用户点击“上一页”或者“下一页”时,再获取相应页的数据如下图:双击上图中的某一项,再打开详细页面,如下图:下面
2015-02-28 13:17:37 1382
原创 【c#源码】基于TCP通信的客户端断线重连
源码下载在CS程序中,断线重连应该是一个常见的功能。此处的断线重连主要指的是服务器端因为某种故障,服务器端程序或者系统进行了重新启动,客户端能够自动探测到服务器端掉线,并尝试重新进行连接本程序基于来自英国的开源c#通信框架的networkcomms(2.3.1版本)先看一下效果初始状态:当服务器端程序关闭后,客户端会自动探测到,并在客户端显示
2015-02-28 13:14:39 4717
原创 【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信
用c#开发安卓程序 (xamarin.android)系列之三源码(包含客户端与服务器端所有工程文件) 数据库文件 为了方便您测试,我临时搭建了一个服务器 您可以安装apk文件,直接测试 apk文件下载地址 (测试服务器将会运行至2015年3月1日)通信框架为来自英国的NetworkComms2.3.1开源通信框架 序列化采用Protobuf
2015-02-22 18:40:41 1937
原创 Networkcomms v3 压力测试程序之微FTP服务器(EXE程序,不开源)
本程序不开源 只提供EXE文件 以便于大家了解NetworkCommsV3框架EXE文件下载地址本程序部分资源来自 CS程序员之窗 特此感谢在我的工作环境中,部署的networkcomms服务器端非常的稳定,在没有同时传输大文件的情况下,cpu 占用率非常的低,在半年的时间里没有因为服务器程序出现什么问题而重启电脑。成熟的模式,良好的稳定性是我深深喜爱networkco
2015-02-17 14:26:04 1016
原创 c#网络通信框架networkcomms内核解析
networkcomms是我遇到的写的最优美的代码,很喜欢,推荐给大家:)基于networkcomms2.3.1开源版本( gplv3)协议,写了一些文章,希望大家喜欢,个人水平有限,不足之处难免。networkcommsc#通信框架来自于美丽的英国剑桥,由大洋彼岸的两位工程师 Marc Fletcher, Matthew Dean开发。c#网络通信框架networkcom
2015-02-15 12:30:40 1790
原创 c#网络通信框架networkcomms内核解析之十 支持优先级的自定义线程池
本例基于networkcomms2.3.1开源版本 gplv3协议如果networkcomms是一顶皇冠,那么CommsThreadPool(自定义线程池)就是皇冠上的明珠了,这样说应该不夸张的,她那么优美,简洁,高效。在 《c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据》中我们曾经提到,服务器收到数据后,如果是系统内部保留类型数据或者是最高优先级数
2015-02-14 22:02:02 1048
原创 c#网络通信框架networkcomms内核解析之九 自定义处理方法的运行机制
本文基于networkcomms2.3.1开源版本 gplv3协议我们自己写的处理方法都称之为自定义处理方法比如,我们在服务器上写的与登陆相关的处理方法:NetworkComms.AppendGlobalIncomingPacketHandler("ReqLogin", IncomingLoginRequest); private void Incom
2015-02-14 22:01:46 1498
原创 c#网络通信框架networkcomms内核解析之八 数据包的核心处理器
本文基于networkcomms2.3.1开源版本 gplv3协议我们先回顾一个 c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据 中,主程序把PacketBuilder 中的数据交给核心处理器处理的过程 //创建优先级队列项目 PriorityQueueItem item = new PriorityQueueItem(priority,
2015-02-14 22:01:14 1328
原创 c#网络通信框架networkcomms内核解析之七 数据包创建器(PacketBuilder)
本文基于networkcomms2.3.1开源版本 gplv3协议PacketBuilder 数据包创建器,用于辅助创建数据包。程序把Tcp连接上收到的二进制数据暂时存储在 packetBuilder中,如果收到的数据足够多,程序会把数据包包头解析出来,并根据数据包包头中的数据,解析出数据包大小,根据数据包大小,从PacketBuilder中截取相应的二进制数据,把这部分数据以内
2015-02-14 22:00:46 1572
原创 c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据
本文基于networkcomms2.3.1开源版本 gplv3协议在networkcomms通信系统中,服务器端收到某连接上的数据后,数据会暂时存放在"数据包创建器"(PacketBuilder)中,PacketBuilder类似一个流动的容器,收到的数据被服务器处理完成后,相应在二进制数据,会从存储他的PacketBuilder中删除。我们知道在networkcomms的消息体
2015-02-14 22:00:34 1670
原创 c#网络通信框架networkcomms内核解析之五 数据监听
本文基于networkcomms2.3.1开源版本 gplv3协议在networkcomms中,服务器端可以同步监听数据,也可以异步监听数据。以开源的networkcomms.2.31为例服务器端监听代码: protected override void StartIncomingDataListen() { if (!
2015-02-14 21:59:57 1983
原创 c#网络通信框架networkcomms内核解析之四 心跳检测
本文基于networkcomms2.3.1开源版本 gplv3协议在网络通信程序中,心跳检测是必不可少的,我们来看一下networkcomms中是如何实现的以networkcomms2.3.1为例:在服务器端,会有一个线程专门用来发送心跳消息代码如下: protected static void TriggerConnectionKeepAliveT
2015-02-14 21:59:27 3109
原创 基于Tcp通信的聊天程序微风IM(c#开源) -技术分析(一) 用户管理
在微风IM中,如果用户上线了,其他用户的用户列表中,此用户状态更新为上线状态,如果用户下线了,此用户的头像会变成灰色。 我们看一下相关的代码:首先是客户端代码(1): UserInfo userInfo = new UserInfo(); userInfo.UserID = txtUserID.Text.Trim
2015-02-13 14:33:55 1915
原创 c#网络通信框架networkcomms内核解析之三 消息同步调用
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn客户端发送消息给服务器,服务器计算结果返回给客户端,这是网络通信应用程序中常见的使用情境。拿用户登录举例子,客户端把包含用户名和密码的契约类发送给服务器,服务器从数据获取数据后与收到的契约类数据进行对比,如果一致,返回登录成功的
2015-02-11 13:44:49 1534
原创 c#网络通信框架networkcomms内核解析之二 消息处理流程
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 发送端发送消息给接收端 ,接收端进行处理 举例:客户端把某用户信息(用户ID,用户密码)传输给服务器,服务器存储到数据库中。发送方 1、契约类(用户信息类) [Proto
2015-02-11 13:43:53 1768
原创 c#网络通信框架networkcomms内核解析之一 消息传送
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn在网络通信程序中,本地的类或者对象,要传输到通信的另一端,在网络上传输的时候是二进制流的形式。那么在发送消息的时候要把对象序列化为二进制流对方接收到二进制数据流要还原成对象。我们知道使用Tcp协议传输消息的时候有
2015-02-11 13:43:03 2517
原创 功能教室预约系统开源下载(c#源码)
这个功能教室预约系统是帮朋友做的,最近没事整理出来,供大家参考,本系统为CS结构,服务器端客户端程序。本人水平有限,大神请飘过:)数据基于mssql2005 .net2.0版本 通讯框架为networkcomms2.3.1录播教室预约系统序言录播教室预约系统(一)-数据库表录播教室预约系统(二)-服务器端与数据库的交互录播教室预约系统(三)-DepTable表[普通表
2015-02-08 21:11:36 5911
原创 录播教室预约系统(十一)-客户端获取本单位的所有教室
客户端用户登陆后,在主界面中可以看到本单位的所有教室,我们来看一下是如何获取的:客户端代码: //根据用户获取功能教室列表 private void GetRooms(Users user) { //把当前用户信息发送个服务器端,并获取到本用户相关的教室列表 RoomList roomList
2015-02-08 21:10:55 670
原创 录播教室预约系统(十)-客户端部门管理员重置本单位其他人员密码
客户端代码: //发出的数据类型为int类型 ItemID为用户对应的ID ResMessage resMessage = tcpConnnection.SendReceiveObject("ReqResetPsw", "ResResetPsw", 5000, itemID); if (resMessage.Message == "操
2015-02-08 21:10:24 729
原创 录播教室预约系统(九)-客户端部门管理员设定教室的预约规则
设置预约规则的客户端代码: int stopHourInt = (int)stopHour.Value; int stopMinuteInt = (int)stopMinute.Value; //截止的时间 int stopTimeInt = stopHourInt * 100 + sto
2015-02-08 21:09:41 493
原创 录播教室预约系统(八)-客户端部门管理员增加教室
管理员增加完成后,其他用户就可以看到多个教室了,如图: 我们看一下客户端增加教室的代码:添加教室: //声明一个教室实体类 ClassRoom classRoom = new ClassRoom(); classRoom.RoomName = txtClassRoom.Text.Trim();
2015-02-08 21:08:50 602
原创 录播教室预约系统(七)-客户端更改密码
界面如下:客户端代码: //用这2个属性映射新密码和旧密码 //原密码 this.currentUser.Password = textBox1.Text.Trim(); //新密码 this.currentUser.NewPassword = textBox2.Text.Trim(
2015-02-08 21:08:13 635
原创 录播教室预约系统(六)-注册新用户
预约系统中,新用户可以自己注册,然后管理员开通。注册界面如下:客户端新用户注册代码: private void button1_Click(object sender, EventArgs e) { if(txtUserID.Text.Trim ()==""|| txtUserName.Text.Trim ()=="")
2015-02-08 21:07:34 523
原创 录播教室预约系统(五)-用户登陆
客户端登陆界面如下:客户端代码: Program.cs 中 //在全局处理函数中忽略相关消息 不添加日志 NetworkComms.IgnoreUnknownPacketTypes = true; ConnectionInf
2015-02-08 21:06:37 682
原创 录播教室预约系统(四)-ClassRoom表[带有外键的表]
ClassRoom是与教室信息相关的表,包含教室的名称 这个表比前面介绍的DepTable表稍微复杂点,他有一列DepID 这列是与DepTable表中的ID相对应的的。有了DepID这一列,我们就可以根据DepID 获取某单位的所有教室。我们暂时把DepID这一列叫做外键列吧。对于拥有外键列的表,仍然可以用我们的codesmith模板生成相关的存储过程和类。有的时候我们希望能
2015-02-08 21:05:32 722
原创 录播教室预约系统(三)-DepTable表[普通表]
DepTable表 主要作用 存放单位名称如图: 模板下载地址 CodeSmith版本为v6.5第一步:用CodeSmith模板生成DepTable表相关的存储过程生成的存储过程如下: /****** Object: Stored Procedure [dbo].DepTable_Delete Script Date: 2015年2月8日 ****
2015-02-08 21:04:54 763
原创 录播教室预约系统(二)-服务器端与数据库的交互
录播教室预约系统(二)-服务器端与数据库的交互每个表都对应这么多类,Data类库中的类还使用了很多存储过程,如果都需要我们手工书写,会很麻烦。所以我们采用了CodeSmith模板的方法。需要注意的是,在我们的开发过程中,模板只生成基础操作相关的一部分代码,还是会有一部分需要我们手工添加上,即使这样,模板也帮助我们做了很多工作。模板会生成 基础数据操作部分的: (1
2015-02-08 21:04:02 586
原创 录播教室预约系统(一)-数据库表
录播教室预约系统(一)-数据库表 数据库用的是mssql2005.数据库表如下: USE [RoomSchedule]GO/****** 对象: Table [dbo].[ClassRoom] 脚本日期: 02/07/2015 22:41:56 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIF
2015-02-08 21:03:11 1639
原创 录播教室预约系统序言
大概一年多年前吧,朋友让我帮他做一个预约系统,当时刚好在学习networkcomms.net的2.3.1版本(本人当时已购买商业版),正好想测试一下networkcomms.net通讯框架的稳定性,于是便开发了此预约系统,基于networkcomms2.3.1 .部署后,系统非常的稳定,平时的cpu占有率非常的低,很少有达到5%以上的情况,当然用户数也并不多,并发数最多大概100左右,没有出现过宕
2015-02-08 21:02:08 996
原创 客户端根据服务器端的指令弹出提示窗口(c#网络通信源码)
http://download.csdn.net/detail/networkcomms/8423945开发技术winform c#语言 .net2.0框架通讯框架:来自英国的 networkcomms2.3.1 (开源 gplv3协议) 进入此页面下载实现功能 服务器开始监听后 客户端连接上 服务器可以发送消息给客户端 客户端根据收到的消息弹出提示窗口提示
2015-02-08 21:00:33 1833 1
原创 用c#开发安卓程序 (xamarin.android)系列之一
用C#开发最简单的安卓程序开发环境 vs2013 update 4Xamarin.VisualStudio_3.9.41XamarinStudio-5.6.2.5-01: 创建一个新程序,如下图:新的程序,默认界面如下:修改属性 设定andorid版本 开始打包程序为apk文件 已经把mono运行时打包进去了 文件
2015-02-08 20:58:57 2847
原创 用c#开发安卓程序 (xamarin.android)
作为c#程序员,没有精力和激情去学习java了,又遇到一些项目需要开发手机端,于是我们的networkcomms2.3.1网络通讯框架又要出场了,是的,这是一款来自英国的网络通讯框架,由c#语言编写,其在编写时根据不用的应用环境,写了不同的代码,支持安卓,平果,winphone等平台开发。找了一个类大家看看他的书写方法 ,使用预编译语句,编写针对不同系统的代码 1 publi
2015-02-08 20:58:08 2543
原创 分析下Neworkcomms中的文件传输
文件传输在客户端,服务器端程序的应用是非常广泛的,稳定的文件传输应该可以说是Tcp通讯的核心功能。下面我们来看一下如何基于networkcomms2.3.1来进行文件传输。最新的 v3版本做了一些加强,变化不是很大。使用networkcomms2.3.1框架,您无需考虑粘包等问题,框架已经帮您处理好了。我们看一下如何发送文件,相关代码如下: 发送文件:public v
2015-02-08 20:55:39 1585
原创 【开源下载】基于winform的xml菜单编辑器(c#源码)
最近帮朋友做了一个档案管理系统,客户端能够把文件上传到服务器,也能够从服务器下载,支持多用户。通讯框架使用的networkcomms v3框架。 这个档案管理系统中用到了树形目录,使用人员需要随时调整左侧的目录,考虑到使用数据库的比较繁琐,就想到了一个方法,即可以在客户端编辑左侧的那个目录,保存成一个xml文件。修改完成后需要的话可以把这个xml文件上传到服务器,其他人员可以从服务器加载这个x
2015-02-08 20:54:11 2600
原创 TCPConnection之 TCPConnectionInstance.cs(NetworkComms 2.3.1源码了解和学习)
networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。using System;using System.Collections.Generic;using System.Text;using System.Net.Sockets;usin
2015-02-08 20:48:18 646
原创 Connection类之ConnectionDelegatesHandlers.cs(NetworkComms 2.3.1源码了解和学习)
networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。 namespace NetworkCommsDotNet{ /// /// Connection对象 这个类是TcpConnection和 UDPConnnection连接
2015-02-08 20:47:59 482
原创 Connection类之ConnectionIncomingData.cs(NetworkComms 2.3.1源码了解和学习)
networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。 /// /// Connection对象 这个类是TcpConnection和 UDPConnnection连接类的父类 /// Connection由以下五个文件组成 大
2015-02-08 20:46:59 517
原创 Connection类之ConnectionSendClose.cs(NetworkComms 2.3.1源码了解和学习)
networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。 using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Th
2015-02-08 20:46:27 1090
原创 Connection类之ConnectionStatic.cs(NetworkComms 2.3.1源码了解和学习)
networkComms.net2.3.1开源版本,基于gpl V3协议。因为不能公开3.x版本的源码,所以基于此版本进行学习。3.X版本进行了诸多改进和Bug修复,使用方法上两者相差不大。namespace NetworkCommsDotNet{ /// /// Connection对象 这个类是TcpConnection和 UDPConnnection连接类的父类
2015-02-08 20:46:00 695
基于winform的xml菜单编辑器(c#源码)
2015-02-08
功能教室预约系统源码(cs结构,c#源码)
2015-02-08
【开源下载】基于TCP网络通信的即时聊天系统 数据库(sql2005)
2015-01-31
【开源下载】基于TCP网络通信的即时聊天系统(IM系统)(c#源码)
2015-01-31
【开源下载】基于TCP网络通信的自动升级程序c#源码(基于.networkcomms2.3.1)
2015-01-31
[置顶]【开源下载】基于TCP网络通信的自动升级程序c#源码(基于neworkcomms2.3.1)
2015-01-31
[源码下载]Demo2.模拟简单登陆-源码基于networkcomms2.3.1
2015-01-31
[源码下载]Demo1 客户端从服务器获取信息(基于networkcomms2.3.1)
2015-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人