![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Socket编程】
文章平均质量分 77
mark4ever
这个作者很懒,什么都没留下…
展开
-
Socket之路一
学校开始学习Socket编程,虽然自己搞的是ASP.NET,但是对Socket也有很大的兴趣,一直不知道如何入门,刚好借此机会跟着学习。Socket的概念就不多写了,Windows环境下的Socket编程是WinSock,现在基本上是2.0,以前还有1.1版,但我想3.0是不会出来了。WinSock继承了伯克利开发的BSD Unix Socket的规范,所以过程都是一样的。WinSock编程一般都“异步非阻塞模式”,现在还未学习到这里,我也不知道如何调用,以后再继续讨论。关于同步、异步、阻塞、非阻塞。同步:原创 2011-04-10 22:17:00 · 735 阅读 · 0 评论 -
Socket之路二
<br />看了一晚上书,对多线程编程差不多有个轮廓,试着写了一个多线程的例子。但是还是没有弄清楚线程是如何结束的。尝试了.Absort()方法,是提前终止了该线程,是错误的。<br />Client端的代码和第一节一样(参考),变更的地方是Server端代码,既然多线程,应当在Accept()之后,就用委托创建一个新线程,并且.Start()这个线程,然后继续侦听下一个请求。<br /> <br />using System;using System.Collections.Generic;usi原创 2011-04-11 03:00:00 · 507 阅读 · 0 评论 -
多线程编程
进程是程序在内存中的实例,一个进程中可以包含多个线程,线程间的切换速度比进程间的切换速度快,所以在处理多任务的时候,多线程开发显然是首选。线程只拥有寄存器和内存堆栈,并且只可以使用进程获得的资源。线程的创建使用的是ThreadStart()这个委托函数,public delegate void ThreadStart()。启动调用.Start()方法,由于单核CPU在同一时间内CPU只能处理一条CPU指令,多线程编程实现的并发,实际上是操作系统为cpu分配的时间片轮转,在各个线程间切换。实现了宏观上并行,微原创 2011-04-16 16:58:00 · 665 阅读 · 0 评论