黑马程序员-线程和socket

原创 2012年03月25日 17:20:36

----------------------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/ 

黑马程序员——网络编程(Socket)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
  • bxy19921025
  • bxy19921025
  • 2015年01月30日 16:56
  • 400

用到多线程的简单socket通信

//服务器文件:Server.javapackage com.zx.socket;import java.net.ServerSocket;import java.net.Socket;public ...
  • u011827340
  • u011827340
  • 2016年06月21日 08:13
  • 524

Socket编程与线程

这里线程模型是指winsock相关的线程模型设计。   在本软件的设计的过程中有些问题是涉及到winsock的问题,为了能够很好的设计线程模型,必须理解清楚socket的内部工作机制。为此,首先...
  • jueane
  • jueane
  • 2015年02月01日 12:08
  • 8457

Java Socket实现一个简单的多线程回显服务器。

需要两个类,一个是EchoServer,代表服务器。另外一个是EchoServerClient,代表客户端。代码如下: package interview; import java.io.Buffe...
  • zwcwu31
  • zwcwu31
  • 2017年06月08日 14:02
  • 498

传智播客黑马程序员28期JavaEE基础及就业班视频教程

日期 课程(空内容代表放假) 2016/5/23 星期一 开学典礼()     2016/5/24 星期二 HTML实战...
  • qq_38472018
  • qq_38472018
  • 2017年04月29日 11:59
  • 358

使用socket与线程实现简单机器人聊天

Socket的英文原义称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种...
  • ricky73999
  • ricky73999
  • 2017年02月14日 00:24
  • 475

黑马程序员:Java学习路线大揭秘连载2-JavaWeb篇!

编程语言Java,已经21岁了。从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind也是Java编写的。Java应用的广泛已...
  • itcast_cn
  • itcast_cn
  • 2016年10月18日 17:44
  • 1485

python聊天程序(socket+多线程)

用Python实现点对点的聊天,2个程序,一个是client.py,一个是server.py,通过本机地址127.0.0.1连接进行通信,利用多线程把发送消息和接收消息分开独立进行。...
  • nameofcsdn
  • nameofcsdn
  • 2017年07月14日 21:20
  • 715

线程关闭socket的方法

由于线程在监听时,一直都是出于阻塞状态,用标志位判断是否执行监听的情况是可行的,但是需要在标志位设置之后,连接一次socket,使得程序能够跳回去判断标志位处。...
  • new_light
  • new_light
  • 2013年04月18日 23:21
  • 1450

使用Socket、SeverSocket,利用线程实现的简单的一对一聊天

这是本人第一篇博客,Android学习已经开始一个多月了,目前还处于JAVA阶段,最近学习到了TCP/IP协议在JAVA中得实现,利用封装好的Socket、SeverSocket类实现了简单的一对一聊...
  • CrazyCoding123
  • CrazyCoding123
  • 2016年07月02日 21:36
  • 840
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员-线程和socket
举报原因:
原因补充:

(最多只允许输入30个字)