liye

liye

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  C# 语言

摘要:NetworkStream.Write()方法实际上是不可用的,因为它无法保证数据的连续性。先给大家看一段代码://cln is an instance of TcpClientNetworkStream st = cln.GetStream();st.Write(tosend, 0, tosend.Length);这属于NetworkStream.Write()的标准调用方法。可是在catch到IOException之后,我们就会遇上大麻烦。MSDN 上没有对NetworkStream抛出的IOException做详细说明,因此我们只能参考它的基类Stream抛出的IOException的说 阅读全文
posted @ 2011-10-14 12:26 编辑

摘要:使用.NET我们可以很容易的创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面介绍几种方法。 1.利用构造函数传递参数 这种方法比较容易理解,我们在实例化线程要启动方法所在类时将方法所需的参数传递给类的构造函数,并将其赋值给类的成员变量,这样在方法中就可以使用该变量了,从而达到将参数传递给方法的目的。 classThreadParameters { publicstaticvoidMain(string[]args) { AnimalShowerdog=newAnimalShower("dog") 阅读全文
posted @ 2011-10-13 15:03 编辑

摘要:今天我看帖子,有很多关于问Socket的问题.但是我只能给大家一个很简单的Socket的初级通信.给大家做一个小的服务器,刚刚好前段时间做了一个小的聊天程序,实现了:指定客户端发送消息,发送闪屏,支持服务器监听客户端发送消息具体的代码如下:首先是服务器.C# code using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Net;//Endpoint using System.Net.So 阅读全文
posted @ 2011-10-12 16:57 编辑

摘要:客户端程序的代码编写: 布置界面。往界面上添加一个ListBox控件(用于显示用户列表),一个RichTextBox控件(用于显示聊天消息以及系统消息),一个 TextBox控件(用于发送消息),一个CheckBox控件(确定是否为悄悄话),一个StatusBar控件(name=StatusBar1)以 及四个Button控件(分别为“连接”、“断开连接”、“开始记录”、“发送”)。 当客户端试图和服务器端进行连接时,一个连接必须建立而且得向服务器端进行注册。 ConnectionServer()函数运用一个TcpClient来和服务器端取得连接,同时创建一个NetworkStream... 阅读全文
posted @ 2011-10-12 13:34 编辑

摘要:TCP/IP 体系结构与特点 TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:IP:网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。 ARP:地址解析协议(Address Resolution Protocol) 此协议将网络地址映射到硬件地址。 RARP:反向地址解析协议(Reverse Address Resolution Protocol) 此协议将硬件地址映射到网络地址... 阅读全文
posted @ 2011-10-12 13:29 编辑

摘要:首先申明一个方法 void HelloWorld(string str) {} 然后申明代理 delegate HelloWorldDelegate(string str); 然后用这个代理申明一个事件 Event HelloWorldDelegate HWEvent; 然后实例化这个事件 HWEvent=new HelloWorldDelegate (HelloWorld); 事件定义就完成了 ... 阅读全文
posted @ 2010-08-12 18:40 编辑

摘要:DataTable中动态的赋值 2009-07-04 20:50 DataTable中动态的赋值 // Process Activity Data DataTable dtSession = new DataTable("sesson");//新建一个名为session的table DataRow drow; DataColumn dc; // transpose the table drow... 阅读全文
posted @ 2010-05-18 18:46 编辑

摘要:DataTable MyDataTable = new DataTable();   MyDataTable.Columns.Add(new DataColumn("学生编号", typeof(string))); MyDataTable.Columns.Add(new DataColumn("姓名", typeof(string))); MyDataTable.Columns.Add(new... 阅读全文
posted @ 2010-05-18 18:04 编辑

摘要:1、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。2、用1、2、2、3、4、5这六个数字,写程序打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"的右边不能是"5"。C# code public class Program { public static void Main() { Lis... 阅读全文
posted @ 2010-04-16 01:42 编辑

摘要:1,利用C#自带的几种集合类可以用来描述集合的概念,比如{1,2},{3,4,5}可以用List<List<int>>来表示集合的集合2,所谓迷宫,并不是随机生成路其他的围墙,而是如何拆墙。比如{1,2},{3,4,5}拆掉2和3只间的墙,就形成了{1,2,3,4,5} 最初的格子状态就是{1},{2},{3},{4}.....如果随机找到2集合,再把其中的墙随机挑选一个... 阅读全文
posted @ 2010-04-16 01:40 编辑

摘要://默认密钥向量 private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; /// <summary> /// DES加密字符串 /// </summary> /// <param name="encryptString">待加密的字符串</param&... 阅读全文
posted @ 2010-04-16 01:37 编辑

摘要:( nYear % 4 == 0 && nYear % 100 != 0 ) ||( nYear % 400 == 0 ) 或 System.DateTime.IsLeapYear() 阅读全文
posted @ 2010-04-16 01:18 编辑

摘要:本文介绍了C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序  冒泡排序 using System; namespace BubbleSorter { public class BubbleSorter { public void Sort(int [] list) { int i,j,temp; bool done=false; j=1; while((j<list.Length)&am... 阅读全文
posted @ 2010-04-16 01:16 编辑

摘要:global::System.Console.WriteLine(number);冒号在什么地方用.点是空间下类,表示下一层的意思? 这里面::前面是GAC的标示符global,用法比较特殊,和.不是一个类型的东西。global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它。 假设你现在写了一个类,名字叫 System。那么当你再在代码里写 ... 阅读全文
posted @ 2009-08-29 09:33 编辑