<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[skywshing的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/skywshing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; skywshing]]></copyright><item><title><![CDATA[Queue插入的时候报错的处理方法：源数组长度不足。请检查 srcIndex 和长度以及数组的下限]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/40374485</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/40374485</guid><author>skywshing</author><pubDate>Wed, 22 Oct 2014 12:45:17 +0800</pubDate><description><![CDATA[与多线程并发操作Queue有关！

1）如果你用的是System.Collection.Queue集合，插入队列时





1

2

3

4

5

6




System.Collection.Queue q = new System.Collection.Queue();

//锁定队列集合，然后插入

lock (q.SyncRo]]></description><category></category></item><item><title><![CDATA[Socket/TCP粘包、多包和少包, 断包]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/39852499</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/39852499</guid><author>skywshing</author><pubDate>Tue, 07 Oct 2014 11:05:02 +0800</pubDate><description><![CDATA[转自:




为什么TCP 会粘包 

  前几天，调试mina的TCP通信， 第一个协议包解析正常，第二个数据包不完整。为什么会这样吗，我们用mina这样通信框架，还会出现这种问题？ 带者问题，我们先分析一下问题。
  提到通信， 我们面临都通信协议，数据协议的选择。 通信协议我们可选择TCP/UDP：



TCP（transport control protocol]]></description><category></category></item><item><title><![CDATA[TCP/IP、Http、Socket的区别]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/39851639</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/39851639</guid><author>skywshing</author><pubDate>Tue, 07 Oct 2014 08:47:07 +0800</pubDate><description><![CDATA[网络由下往上分为

　　物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

　　通过初步的了解，我知道IP协议对应于网络层，TCP协议对应于传输层，而HTTP协议对应于应用层，

　　三者从本质上来说没有可比性，

　　socket则是对TCP/IP协议的封装和应用(程序员层面上)。

　　也可以说，TPC/IP协议是传输层协议，主要解决数据如何在网络中传输，
]]></description><category></category></item><item><title><![CDATA[你得学会并且学得会的Socket编程基础知识]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/39828733</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/39828733</guid><author>skywshing</author><pubDate>Mon, 06 Oct 2014 15:04:33 +0800</pubDate><description><![CDATA[这一篇文章，我将图文并茂地介绍Socket编程的基础知识，我相信，如果你按照步骤做完实验，一定可以对Socket编程有更好地理解。

本文源代码，可以通过这里下载 http://files.cnblogs.com/chenxizhang/SocketWorkshop.rar
 
第一步：创建解决方案

第二步：创建服务端程序
这里可以选择“Console Application”这个]]></description><category></category></item><item><title><![CDATA[TCP长连接与短连接的区别]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/39828701</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/39828701</guid><author>skywshing</author><pubDate>Mon, 06 Oct 2014 15:03:38 +0800</pubDate><description><![CDATA[1. TCP连接
当网络通信时采用TCP协议时，在真正的读写操作之前，server与client之间必须建立一个连接，当读写操作完成后，双方不再需要这个连接时它们可以释放这个连接，连接的建立是需要三次握手的，而释放则需要4次握手，所以说每个连接的建立都是需要资源消耗和时间消耗的
经典的三次握手示意图：

经典的四次握手关闭图：

2. TCP短连接
我们模拟一下TCP短连接的情况，c]]></description><category></category></item><item><title><![CDATA[C#中删除控件的事件的方法类]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35570907</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35570907</guid><author>skywshing</author><pubDate>Sat, 28 Jun 2014 17:49:39 +0800</pubDate><description><![CDATA[方法一:]]></description><category></category></item><item><title><![CDATA[C# 控件名称缩写建议]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35293949</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35293949</guid><author>skywshing</author><pubDate>Fri, 27 Jun 2014 18:43:44 +0800</pubDate><description><![CDATA[控件名称


缩写


介绍




公共控件


 


 




Button


btn


按钮




CheckBox


chk


复选框




CheckedListBox


ckl


显示一个项列表,其中每一项左侧都有一个复选框




ComboBox

]]></description><category></category></item><item><title><![CDATA[C#调用win32 API读写INI文件]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35289813</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35289813</guid><author>skywshing</author><pubDate>Fri, 27 Jun 2014 18:07:58 +0800</pubDate><description><![CDATA[[C#]讀寫INI檔 Win32 API

INI 檔案，格式如下：
[Section1] 
key1=value1 
key2=value2 
[Section2] 
key1=value1 
key2=value2

使用Win32 API 

程式畫面

程式碼
Form類別
using System; 
using System.IO; 
using S]]></description><category></category></item><item><title><![CDATA[C#开发使用的几个技巧]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35289423</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35289423</guid><author>skywshing</author><pubDate>Fri, 27 Jun 2014 18:01:28 +0800</pubDate><description><![CDATA[1.怎样定制VC#DataGrid列标题？
 
　　DataGridTableStyle dgts = new DataGridTableStyle();
 
　　dgts.MappingName = "myTable"; //myTable为要载入数据的DataTable
 
　　
 
　　DataGridTextBoxColumn dgcs = newDataGridTextB]]></description><category></category></item><item><title><![CDATA[c#.net常用函数和方法集]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35288271</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35288271</guid><author>skywshing</author><pubDate>Fri, 27 Jun 2014 17:51:56 +0800</pubDate><description><![CDATA[c#.net常用函数和方法集
        
1、DateTime 数字型 
System.DateTime currentTime=newSystem.DateTime(); 
1.1 取当前年月日时分秒 
currentTime=System.DateTime.Now; 
1.2 取当前年 
int 年=currentTime.Year; 
1.3 取当前月 
int 月=]]></description><category></category></item><item><title><![CDATA[C#算法之冒泡排序实例]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35284421</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35284421</guid><author>skywshing</author><pubDate>Fri, 27 Jun 2014 17:23:09 +0800</pubDate><description><![CDATA[using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {

      ]]></description><category></category></item><item><title><![CDATA[C# 判断字符串是全角或半角]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/35281233</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/35281233</guid><author>skywshing</author><pubDate>Fri, 27 Jun 2014 17:00:45 +0800</pubDate><description><![CDATA[C#字符串的全角是指用二个字节来表示的一个字符


C#字符串的半角是用一个字节来表示的一个字符


这样的话我们就可以用string.length 和System.text.Encoding.Default.GetByteCount来判断


其中string.length表示C#字符串字符串的字符数，


System.text.Encoding.Default.Get]]></description><category></category></item><item><title><![CDATA[C# 多线程协同完成一个任务]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/34550717</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/34550717</guid><author>skywshing</author><pubDate>Wed, 25 Jun 2014 23:07:26 +0800</pubDate><description><![CDATA[C# 多线程协同完成一个任务






voodooer 于 星期日, 02/03/2014 - 18:30 提交







view
 sourceprint?







01

using System;









02

using System.Collections.Generic;


]]></description><category></category></item><item><title><![CDATA[C#算法学习-->递归]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/15211675</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/15211675</guid><author>skywshing</author><pubDate>Sun, 10 Nov 2013 22:37:20 +0800</pubDate><description><![CDATA[示例：
计算数组{1,1,2,3,5,8……} 第30位值


1）不用递归
static void Main(string[] args)
{
	int[] num=new int[30];
    	num[0]=1;
    	num[1]=1;
    	int first=num[0];
    	int second=num[1];
    	for (int i = 2;]]></description><category></category></item><item><title><![CDATA[C#使用ListView动态添加数据屏幕闪烁的解决方法之一]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/9238479</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/9238479</guid><author>skywshing</author><pubDate>Wed, 03 Jul 2013 23:22:54 +0800</pubDate><description><![CDATA[方法：开启ListView双缓存
 
1.自定义一个类CustomListView，继承自 System.Windows.Forms.ListView
public CustomListView()
{	SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
	Up]]></description><category></category></item><item><title><![CDATA[C#中static关键字的用法]]></title><link>https://blog.youkuaiyun.com/skywshing/article/details/8688843</link><guid>https://blog.youkuaiyun.com/skywshing/article/details/8688843</guid><author>skywshing</author><pubDate>Mon, 18 Mar 2013 20:31:35 +0800</pubDate><description><![CDATA[>>>以下转自百度知道
静态分配的，有两种情况：
1. 用在类里的属性、方法前面，这样的静态属性与方法不需要创建实例就能访问，
  通过类名或对象名都能访问它，静态属性、方法只有“一份”：即如果一个类新建有N个
  对象，这N 个对象只有同一个静态属性与方法；
2. 方法内部的静态变量：
  方法内部的静态变量，执行完静态变量值不消失，再次执行此对象的方法时，值仍存在，
  它不是在]]></description><category></category></item></channel></rss>