1 / 5
文档名称:

用C#实现多线程Socket的通信资料.docx

格式:docx   大小:23KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用C#实现多线程Socket的通信资料.docx

上传人:cjc201601 2022/1/20 文件大小:23 KB

下载得到文件列表

用C#实现多线程Socket的通信资料.docx

相关文档

文档介绍

文档介绍:用C#实现多线程Socket的通信
我们把在Windows下同时执行的多个程序中的任何一个称之为进程。在操作系统的作用下,任何一个进程都认为自己是独
立的,都认为自己拥有整台电脑全部的资源,比如内存、CPU等,它
们并不知道其他进程正用C#实现多线程Socket的通信
我们把在Windows下同时执行的多个程序中的任何一个称之为进程。在操作系统的作用下,任何一个进程都认为自己是独
立的,都认为自己拥有整台电脑全部的资源,比如内存、CPU等,它
们并不知道其他进程正在与它分享这些资源,所以每个进程不会去访问另一个进程的资源。这样做的好处是一个进程无法破坏另一个进程,但缺点是进程之间的信息很难共享。虽然每个进程都认为自己拥有全部CPU资源,但实际并不是这样,系统把CPU
资源以时间片为单位,按特定的算法进行分配。在分配时间片的时候,系统并不是按进程来分配而是按线程来进行分配,也就是说只有线程才有权得到CPU资源。我们可以认为线程就是一段可
以被执行的代码序列,在每一个进程内部,至少有一个线程,所有进程的运行其实是进程内部的线程被执行而已,这就是进程能获得时间片的原因。我们创建的所有程序内部都有一个线程,在编写程序时并不需要做什么特殊处理,但我们可以通过编写代码让程序内部有多个线程,我们把包含两个或两个以上的线程称之
为多线程程序。
1Socket基本原理
在C#,程
序员可以通过socket来发送和接收网络上的数据。我们可以把
它理解成是一个API,有了它就可以通过这个接口访问网络从而
省去了很多复杂的操作。
要通过互联网进行通信,至少需要一对套接字,它是通信主机之间的端点,由它构成了单个主机内及整个网络间的编程界面。我们把运行于客户机端的称之Clientsocket,运行于服务器端的称之为
ServerSocket。它的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。

申请一个Socket,定义到一个IP地址和一个端口上开启侦听。每成功接受一个客户端的链接便在服务端产生一个对应的
Socket,在接收客户端连接时创建责和对应的客户端通信。
intrecv;//用于表示客户端发送的信息长度
byte口data二newbyte[1024];//用于缓存客户端所发送的信息
IPEndPointipep=newIPEndPoint(,
9050);//定义一网络端点Socketnewsock=newSocket
,,
);//定义一个Socket
(ipep);//Socket与本地的一个终结点相关联
IPEndPointsender=newIPEndPoint(,
0);
//定义要发送的计算机的地址
recv=(data,refRemote);//
接受数据
(data,,,Re