c#技术类
文章平均质量分 88
超纯の小白兔
华为云高级工程师
展开
-
C#网络编程系列文章(一)之Socket实现异步TCP服务器
原创性声明开篇本人因为对于网络编程的喜爱,经常性的使用c#编写各类服务器(e.g TCP服务器,UDP服务器),但是基本上都是搞着玩,网上也有很多讲c#网络编程的文章,当然我也参考了很多作者写的文章。看了这篇文章以后再也不用导出找资料了。本系列文章会依次介绍使用Socket实现的异步TCP服务器、同步TCP服务器、异步UDP服务器、同步UDP服务器 and 使用TcpListe原创 2015-03-14 13:43:15 · 38154 阅读 · 23 评论 -
C#自己实现线程池功能(一)
线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源,所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些"池化资源"技术产生的原因。比如大家所熟悉的数据库连接池正是遵循这一思想而产生的,本文将介绍的线程池技术同样符合这一思想原创 2014-10-20 19:06:56 · 15910 阅读 · 0 评论 -
c#实现简单Web服务器
一、HTTP协议的作用原理WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是 Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议转载 2014-10-31 18:24:03 · 4551 阅读 · 0 评论 -
C#跑马灯抽签小程序
最近受朋友所托,需要做一个抽签的程序,可以抽取自己想抽取的项原创 2014-10-18 08:23:44 · 5518 阅读 · 0 评论 -
基于事件模型的UDP通讯框架(适用于网络包编解码)
之前写过一篇关于c#udp分包发送的文章这篇文章里面介绍的方法是一种实现,但是存在一个缺点就是一个对象序列化后会增大很多,不利于在网络中的传输。我们在网络中的传输是需要尽可能的减小传送的数据包的大小,于是我参考了网上一些资料和一些开源的项目(http://www.fishlee.net/)这个上面的那个开源的飞鸽传输的框架,其实也就是把要传送的数据按照某种规定放在一个byte数组中,然原创 2014-08-27 09:19:48 · 17237 阅读 · 23 评论 -
C# ThreadPoold的使用心得
在c#多线程编程中经常要使用线程,但是因为得线程的创建和撤销是非常消耗资源的代价很大,因此我们使用线程池来解决这个问题,线程池就是在一开始向系统申请一定数量的线程,并维护它,有任务来时,如果有空闲线程的话就分配一个线程给它执行,如果没有空闲的线程就得等待。当线程执行完任务后,就归还给空闲线程。配置线程池的一些参数 RegisteredWaitHandle rh原创 2014-10-14 21:38:50 · 13081 阅读 · 0 评论 -
c#实现Web服务器
学习C#时,经常会遇到Web服务器功能的程序设计问题,这里将介绍C#实现Web服务器功能的程序设计问题的解决方法。C#实现Web服务器功能的程序设计根据HTTP协议的作用原理,实现GET请求的Web服务器程序的方法如下:创建TcpListener类对象,监听某端口(任意输入闲置端口 如:8080 )。等待、接受客户机连接到该端口,得到与客户机连接的socket;从与sock转载 2014-10-31 18:23:49 · 9239 阅读 · 0 评论 -
C#异步TCP服务器完整实现
TCP异步Socket模型C#的TCP异步Socket模型是通过Begin-End模式实现的。例如提供 BeginConnect、BeginAccept、BeginSend 和 BeginReceive等。IAsyncResult BeginAccept(AsyncCallback callback, object state);AsyncCallback 回调在函数执转载 2014-10-30 16:02:20 · 17384 阅读 · 0 评论 -
C#打开tif文件时内存溢出(System.OutOfMemoryException)解决办法
前言原创性声明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251353如果进行转载请注明出处。本文作者原创,邮箱zhujunxxxxx@163.com,如有问题请联系作者我在做一个统计图片长和宽的软件时遇到一个问题,本来是用的 Image img = null; img原创 2014-10-31 10:24:11 · 12961 阅读 · 0 评论 -
C# WebQQ协议群发机器人(一)
之前我也写过一篇使用python来实现的一个版本现在我用c#语言改写过后也放出源码来让大家学习,希望大家喜欢,不懂的相互交流,目前我实现的一些功能包括 第一次登录 二次登陆 获取群信息 获取群好友 发送群消息 发送消息给好友先给出一些webqq的一些参数吧 psessionid 这个是在第二次登录的时候在 cookie中的一个重要的值,在后面获取群信息,获取好友信息等 都原创 2014-08-29 22:21:53 · 17389 阅读 · 5 评论 -
C#使用数组实现二叉查找树
原创性申明:本文地址是 http://blog.csdn.net/zhujunxxxxx/article/details/40658925 转载请注明出处。作者联系邮箱 zhujunxxxxx@163.com二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。它或者是一棵空树;或者是具有下列性质的二叉树:(1)若原创 2014-11-08 21:08:37 · 8390 阅读 · 0 评论 -
C# WebQQ协议群发机器人(二)
本文出处http://blog.csdn.net/zhujunxxxxx/ 如需转载请注明出处!接着上一篇http://blog.csdn.net/zhujunxxxxx/article/details/38931287我讲的内容上面实现的都是与群操作相关的接下来是获取好友信息的方法/// /// 获取好友列表信息 ///原创 2014-08-30 09:16:00 · 12708 阅读 · 1 评论 -
C# WebQQ协议群发机器人(三)
在前两篇文章中我已经给了绝大部分的WEBQQ的操作在这篇文章中不在过多的说明做法本文出处 http://blog.csdn.net/zhujunxxxxx 转载请注明 有的时候需要自己添加一些功能呢 怎么做呢,我这里给出一个方法。在调试webqq机器人时 我用google浏览器 的F12开发者工具来捕捉网络包,webqq绝大多数都是GET请求 参数用来用去也就是那几个 通过Lo原创 2014-09-05 20:25:43 · 14210 阅读 · 14 评论 -
C# 压缩与解压
using System;using System.Collections.Generic;using System.Text;using System.IO;using System.IO.Compression;using System.Xml.Serialization;using System.Xml;using System.Data;using System.Runti转载 2014-08-26 16:39:14 · 6130 阅读 · 0 评论 -
C#中关于压缩数据流和解压数据流的实现
c#中压缩数据流的方法在网上找了很久没有找到ziji原创 2014-08-26 19:03:35 · 13525 阅读 · 0 评论 -
c#中关于udp实现可靠地传输(数据包的分组发送) 升级版
在http://blog.csdn.net/zhujunxxxxx/article/details/18798431中我们讨论了,UDP包的发送,但是上一个程序有一个问题,就是数据比较大,一个Message类序列化后都有2048B,而实际的数据量也就不过 50B罢了,这就说明其中数据有效的很少,这样当传送的数据包过多后,效率会极大的降低。因此我们只有想办法减少冗余数据。我们需要自己定义数据的传原创 2014-05-21 00:53:57 · 10679 阅读 · 1 评论 -
c# UDP模拟TCP实现可靠传输
在网上搜集的使用UDP模拟实现TCP的可靠传输using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Net;using System.Net.Sockets;using System.IO; na转载 2014-01-21 12:00:59 · 4185 阅读 · 0 评论 -
mysql定时数据备份工具(c#)
此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/40124773如果进行转载请注明出处。本文作者原创,邮箱zhujunxxxxx@163.com,如有问题请联系作者为了确保数据的安全,我们往往要对数据进行备份。但是为了减少我们的工作量,我写了一个简单的数据备份工具,实现定时备份数据库。其实程序很简单,数据备份的工作就是几个原创 2014-10-20 21:24:08 · 5197 阅读 · 0 评论 -
C#连续区间最大和求解
这里有两个算法 第一个原创 2014-10-03 19:15:25 · 950 阅读 · 0 评论 -
一个UDP异步通信例子
using System; using System.Text; using System.Net; using System.Net.Sockets;namespace ConsoleUdpServer { class Program { static void Main(string[] args) { S转载 2015-03-13 10:50:25 · 4913 阅读 · 0 评论 -
Socket编程的TCP异步实现(C#版本)
基于C#的socket编程的TCP异步实现 一、摘要 本篇博文阐述基于TCP通信协议的异步实现。 二、实验平台 Visual Studio 2010 三、异步通信实现原理及常用方法3.1 建立连接 在同步模式中,在服务器上使用Accept方法接入连接请求,而在客户端则使用Connect方法来连接服务转载 2015-03-13 12:58:30 · 2545 阅读 · 0 评论 -
C#网络编程系列文章(二)之Socket实现同步TCP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处本文介绍在上一篇博客中我说了,我将会介绍c#中使用Socket和TcpListener和UdpClient实现各种同步和异步的TCP和UDP服务器,这些都是是我自己花了很多天的时间来总结的,这样一来相信刚接触c#网络编原创 2015-03-14 17:54:44 · 11695 阅读 · 0 评论 -
C#网络编程系列文章(五)之Socket实现异步UDP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处本文介绍在.Net中,System.Net.Sockets 命名空间为需要严密控制网络访问的开发人员提供了 Windows Sockets (Winsock) 接口的托管实现。System.Net 命名空间中的所有其他网原创 2015-03-15 21:20:53 · 16649 阅读 · 3 评论 -
C#网络编程系列文章(六)之Socket实现同步UDP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处本文介绍在.Net中,System.Net.Sockets 命名空间为需要严密控制网络访问的开发人员提供了 Windows Sockets (Winsock) 接口的托管实现。System.Net 命名空间中的所有其原创 2015-03-16 12:39:36 · 5332 阅读 · 1 评论 -
C#网络编程系列文章(七)之UdpClient实现异步UDP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处本文介绍UdpClient 类在同步阻塞模式中为发送和接收无连接的 UDP 数据包而提供了简单的方法。因为 UDP 是一种无连接的传输协议,所以你不需要在发送和接收数据之前建立任何远程主机连接。你只需要按照下列方式来建立原创 2015-03-16 12:48:08 · 12567 阅读 · 2 评论 -
C#网络编程系列文章(八)之UdpClient实现同步UDP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处文章系列目录C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编程系列文章(二)之Socket实现同步TCP服务器C#网络编程系列文章(三)之TcpListener实现异步TCP服务器原创 2015-03-16 12:58:28 · 5599 阅读 · 0 评论 -
C#网络编程系列文章(三)之TcpListener实现异步TCP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处本文介绍TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。 可使用 TcpClient 或 Socket 来连接 TcpListener。 可使用 IPEndPoint、本地 IP原创 2015-03-14 18:02:51 · 21367 阅读 · 4 评论 -
C#网络编程系列文章(四)之TcpListener实现同步TCP服务器
原创性声明本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处本文介绍TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。 可使用 TcpClient 或 Socket 来连接 TcpListener。 可使用 IPEndPoint、本地 I原创 2015-03-15 18:03:48 · 8695 阅读 · 0 评论 -
异步Socket Tcp服务器实现(C#)
原创性申明本文作者: 小竹zz 本文地址:http://blog.csdn.net/zhujunxxxxx 转载请注明出处。介绍在c#中微软已经提供了TcpListener和TcpClient来实现Tcp的通讯,这部分已经有人写了比较好的异步服务器代码 http://www.cnblogs.com/gaochundong/archive/2013/04/14/csharp_async原创 2015-02-06 21:31:53 · 10332 阅读 · 2 评论 -
C#高性能Socket服务器SocketAsyncEventArgs的实现(IOCP)
原创性申明本文作者:小竹zz 博客地址:http://blog.csdn.net/zhujunxxxxx 转载请注明出处引言我一直在探寻一个高性能的Socket客户端代码。以前,我使用Socket类写了一些基于传统异步编程模型的代码(BeginSend、BeginReceive,等等)也看过很多博客的知识,在linux中有poll和epoll来实现,在windows下面微软MSD原创 2015-02-06 21:05:34 · 46429 阅读 · 19 评论 -
Trie-Tree字典树
本文转自 http://www.cnblogs.com/gaochundong 作者:Dennis Gao 大神字典树(Trie)是一种很特别的树状信息检索数据结构,如同其名,它的构成就像一本字典,可以让你快速的进行字符插入、字符串搜索等。Trie 一词来自 retrieval,发音为 /tri:/ "tree",也有人读为 /traɪ/ "try"。字典树设计的核转载 2015-01-31 13:18:00 · 1006 阅读 · 0 评论 -
C#使用皮肤引擎更新自己的界面
我在做c#winform程序的时候。总是觉得界面不是很好看,但是自己有没有美感,无奈之下就找到了一个c#下的皮肤引擎,不用修改什么代码就能实现漂亮的界面这个引擎是 IrisSkin4.dll 。这个能够通过加装皮肤文件改变界面的样式很方便使用方法:先在项目中引入dll,并添加到工具栏里面。拖一个控件到当前项目中就行了。在构造函数中加入下面这样一行代码就可以了this.skinE原创 2014-12-07 16:52:43 · 8539 阅读 · 0 评论 -
c#通用json帮助类
using System;using System.Data;using System.Text;using System.Collections.Generic;using System.Reflection;using System.Data.Common;using System.Collections;using System.IO;using System.Text.Re原创 2014-02-01 21:30:29 · 4083 阅读 · 0 评论 -
基于UDP协议实现P2P语音聊天系统(C#版本)
原创性申明此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251241如果进行转载请注明出处。本文作者原创,邮箱zhujunxxxxx@163.com,如有问题请联系作者概述之前发过一篇文章c#中关于udp实现可靠地传输(数据包的分组发送) 已经实现过了UDP的分包发送数据的功能,而这篇文章主要是一个应用,使用ud原创 2014-10-16 00:04:01 · 25649 阅读 · 3 评论 -
C#自己实现线程池功能(二)
介绍在上一篇c#自己实现线程池功能(一)中,我们基本实现了一个可以运行的程序,而不能真正的称作线程池。由于是上篇中的代码有个致命的bug那就是没有任务是并不是等待,而是疯狂的进行while循环,并试图lock任务链表,这样带来的问题的就是性能相当低下,程序反映速度很慢(当加入一个新任务后,要过很久这个job才开始运行)造成的原因就是刚才所说的。为了解决这个问题我们就需要使用某种方法使得程序原创 2014-10-20 19:44:48 · 3815 阅读 · 1 评论 -
关于UDPThread这个类的使用方法
在c#中关于udp实现可靠地传输(数据包的分组发送)这篇文章中我介绍了关于UDP分组发送数据的方法,但是只给出了几个类,但是具体怎么使用我还没有介绍。其实使用方法很简单。服务端使用 UDPThread server;server = new UDPThread(6666);server.PackageReceived += MessageReceived;void原创 2014-01-28 18:26:37 · 4827 阅读 · 0 评论 -
C#中upd分包与发送,已经实现全部代码
C#实现对数据的分隔和发送!服务端对分包数据的接收和处理原创 2013-09-23 12:07:51 · 8687 阅读 · 27 评论 -
c#和java中执行sql文件脚本的代码(非常有用)
c#和java对sql文件的解析原创 2014-01-17 18:24:09 · 3890 阅读 · 0 评论 -
c#宽度优先的网络爬虫
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using To原创 2014-01-10 18:01:02 · 4265 阅读 · 1 评论 -
C#实现在winfrom程序中下载文件
//下载文件1 public static void downfile(string downloadUrl,string filename,string filepath) { HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(downloadUrl);原创 2014-01-10 18:04:03 · 4487 阅读 · 0 评论