关闭

黑马程序员-线程和socket

标签: socketwindows phonethread.net服务器多线程
142人阅读 评论(0) 收藏 举报

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 

线程的实现:

.net中如何实现多线程

1)       线程是一定要执行一段代码的。所以要产生一个线程,必须先为这个线程写一个方法,这个方法中的代码就是该线程运行所要执行的代码。

2)       线程启动时,是通过委托调用该方法的。也就是线程启动时,调用传过来的委托,委托就会执行相应的方法,来实现线程执行方法。

 

 

我们怎么样来产生一个线程?

我们产生一个线程的步骤是:

1)       编写产生线程所要执行的方法。

2)       引用System.Threading命名空间

3)       实例化Thread类,并传入一个指向线程所要运行方法的委托

4)       调用Thread实例的Start方法,标记该线程可以被cpu执行了,但是具体执行时间是由cpu决定的。

 

前台线程和后台线程:

前台线程:只有所有的前台线程都关闭才能完成程序关闭时。

后台线程:只要所有的前台线程结束,后台线程自动结束。

 

 

Socket

Socket的概念:socket有“孔”“插座”的意思,但是它作为进程通信机制,是“插座”的意思。我们通常叫做“套接字”。

作用:它是用于描述ip地址和端口,是一个通信链的句柄(我们可以理解为是两个程序通信用的)

Socket有两种类型:

1)       流式socket

它是一种面向连接的socket,针对于面向连接的tcp服务应用,安全,但是效率低

2)       数据报式socket

它是一种无连接的socket,应对与无连接的udp服务应用,不安全(丢失,顺序混乱,在接收端要分析重排及要求重发),但是效率高。

Scoket的一般应用模式:

服务器端的socket(至少需要两个)

A.     一个负责接收客户端连接请求(但是不负责与客户端通信)

B.      没成功接收到一个客户端的连接便在服务端生产一个对应的socket

*在接收到客户端连接时创建。

*为每个连接成功的客户端请求在服务端都创建一个对应的scoket(负责和客户端通信)

客户端socket

*必须指定要连接的服务端地址和端口。

*通过创建一个socket对象来初始化一个到服务器端的tcp连接。微笑

 

 

好了,接下来就做个简单的用socket的实例!

 

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/ 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2097次
    • 积分:80
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档