- 博客(11)
- 资源 (120)
- 收藏
- 关注
转载 典型的异步客户端套接字构建
下面的示例程序创建一个连接到服务器的客户端。该客户端是用异步套接字生成的,因此在等待服务器返回响应时不挂起客户端应用程序的执行。该应用程序将字符串发送到服务器,然后在控制台显示该服务器返回的字符串。 using System;using System.Net;using System.Net.Sockets;using System.Threading;using Syst
2010-03-30 17:19:00 1234
转载 典型的异步服务器端套接字构建
下面的示例程序创建一个接收来自客户端的连接请求的服务器。该服务器是用异步套接字生成的,因此在等待来自客户端的连接时不挂起服务器应用程序的执行。该应用程序接收来自客户端的字符串,在控制台显示该字符串,然后将该字符串回显到客户端。来自客户端的字符串必须包含字符串“”,以发出表示消息结尾的信号。 using System;using System.Net;using System.Net
2010-03-26 16:36:00 1897 6
转载 C#多线程学习(五) 多线程的自动管理(定时器)
Timer类:设置一个定时器,定时执行用户指定的函数。 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。// 第一个参数:指定了TimerCallback 委托,表示要执行的方法;// 第二个参数:一个包含回调方法要使用的信息的对象,或者为空引用;// 第三个参数:延迟时间——计时开始的时刻距现在的时间,单位是毫秒,指定为“0”表示立即启动计时器;// 第四
2010-03-26 08:24:00 972
转载 C#多线程学习(四) 多线程的自动管理(线程池)
在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决;ThreadPool类提供一个由系统
2010-03-26 08:22:00 790
转载 C#多线程学习(三) 生产者和消费者 2
下面定义生产者类 CellProd 和消费者类 CellCons ,它们都只有一个方法ThreadRun(),以便在Main()函数中提供给线程的ThreadStart代理对象,作为线程的入口。public class CellProd{ Cell cell; // 被操作的Cell对象 int quantity = 1; // 生产者生产次数,初始化为1 p
2010-03-26 08:21:00 985
转载 C#多线程学习(三) 生产者和消费者 1——解决线程间冲突的关键
前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。C#提供了一个关键字lock,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C#中,关键字lock定义如下:
2010-03-26 08:18:00 2689
转载 C#Socket同步异步通讯总结笔记
同步套接字通信Socket支持下的网上点对点的通信服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能服务器端建立一个socket,设置好本机的ip和监听的端口与socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。客户端建立一个socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接收到
2010-03-25 17:28:00 12896 1
转载 C#多线程学习(二) 如何操纵一个线程
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。 打开你的VS.n
2010-03-25 13:27:00 1049
转载 C#多线程学习(一) 多线程的相关概念
文章出处:http://www.cnblogs.com/xugang/archive/2008/04/06/1138856.html什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执
2010-03-25 13:25:00 938
转载 在C#中利用Keep-Alive处理Socket网络异常断开的方法
作者:牧野文章出处:http://www.cnblogs.com/wzd24/archive/2007/05/22/755050.html 网络异常断开原因主要有那些呢?归纳起来主要有以下两种:1、客户端程序异常。 对于这种情况,我们很好处理,因为客户端程序异常退出会在服务端引发ConnectionReset的Socket异常(就是WinSock2中的10054异常)。
2010-03-25 11:57:00 7524 6
转载 C#带参数线程的操作
线程操作主要用到Thread类,他是定义在System.Threading.dll下。使用时需要添加这一个引用。该类提供给我们四个重载的构造函数(以下引自msdn)。 Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 Thread (ThreadSta
2010-03-24 14:57:00 2480
3ds Max 2010 SDK(内含帮助文档及全部示例)
2011-09-27
Parallel World 3D场景漫游
2011-09-26
吉安娜的远征[EXE+源码]
2011-09-26
libzplay-2.02-sdk.7z
2011-06-30
WinForm内嵌Xna(App Hub)
2011-05-17
XNA&Beyond_The Path to VS 2008(Code Project)
2011-05-17
BasicEffect.fx
2011-05-16
DirectX9 User Interfaces Design and Implementation
2011-05-12
SpriteBatch.fx
2011-04-25
VC版重装机兵(MetalMax)(游戏+源码)
2011-04-01
《幽灵飞车》Xna游戏源码分析.doc
2011-03-09
Silverlight实现游戏循环的五种常见方式和性能对比(文档+Demo)
2011-02-24
可扩展多线程异步Socket服务器框架EMTASS 2.0(C#版)
2011-02-21
征途服务端精品C++源码编译通过
2022-11-07
可以兼容Go1.18的gocode工具
2022-04-07
zpack 0.83:配合Cocos使用的文件打包格式
2017-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人