- 浏览: 18277 次
最新评论
C# Socket多线程编程实例
2010年07月18日
C# Socket多线程编程实例
C# Socket多线程编程实例
C#是微软随着VS.net新推出的一门语言。它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性。而且,微软推出C#主要的目的是为了对抗Sun公司的Java。大家都知道Java语言的强大功能,尤其在网络编程方面。于是,C#在网络编程方面也自然不甘落后于人。本文就向大家介绍一下C#下实现套接字(Sockets)编程的一些基本知识,以期能使大家对此有个大致了解。首先,我向大家介绍一下套接字的概念。
套接字基本概念:
套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。
套接字可以根据通信性质分类,这种性质对于用户是可见的。应用程序一般仅在同一类的套接字间进行通信。不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信。套接字有两种不同的类型:流套接字和数据报套接字。
套接字工作原理:
要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。
根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。
所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
所谓连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
C#中的套接字编程实例:
通过向大家简单的介绍套接字的基本概念和实现套接字编程的基本原理,我想大家对套接字编程已有了初步的了解。不过,上面介绍的仅仅是基本概念和原理,要真正运用还是需要一定的工作的。对基本概念和原理的真正理解的最好方法莫过于自己动手做一个实例,下面我就向大家介绍一个很好的用C#实现套接字编程的实例
发表评论
-
Windows PowerShell 2.0语言开发之脚本签名
2012-01-20 01:54 1050Windows PowerShell 2.0语言开 ... -
在Windows下安装Hadoop遇到的几个问题
2012-01-20 01:53 904在Windows下安装Hadoop遇到 ... -
1.7 --1.8 SDK-RMIOS
2012-01-20 01:53 12851.7 --1.8 SDK-RMIOS 2011年01月06 ... -
vs2008安装失败解决办法
2012-01-20 01:53 1149vs2008安装失败解决办法 2011年04月22日 由 ... -
Windows环境下设置Qt编译环境 - 关于Qt的静态链接库的配置和生成方法
2012-01-20 01:53 2241Windows环境下设置Qt编译环境 - 关于Qt的静态链接库 ... -
清晨随笔
2012-01-19 09:40 655清晨随笔 2011年12月28日 连做两个梦,都是关 ... -
这孩子,太有才了
2012-01-19 09:40 750这孩子,太有才了 19小时前 ... -
开心一笑
2012-01-19 09:40 561开心一笑 2010年01月15日 星期一到了……小英在交 ... -
一言既出,驷马难追
2012-01-19 09:40 613一言既出,驷马难追 2012年01月12日 ... -
Windows SDK笔记-2
2012-01-17 02:15 794Windows SDK笔记-2 2011年04月25日 ... -
Windows SDK
2012-01-17 02:15 924Windows SDK 2010年08月13日 微软每 ... -
Windows Phone 7 SDK 正式版本RTW
2012-01-17 02:15 790Windows Phone 7 SDK 正式版本RTW 20 ... -
Windows Phone 7 SDK
2012-01-17 02:15 895Windows Phone 7 SDK 2011年01月28 ... -
Ⅱ 留 拒绝酱油
2012-01-17 02:15 643Ⅱ ... -
C++加载位图和SOCKET通信的编写
2012-01-15 21:52 1359C++加载位图和SOCKET通信的编写 2010年06月02 ... -
C++ socket编程基础(理论篇)[转]
2012-01-15 21:52 759C++ socket编程基础(理论 ... -
C# Socket网络编程学习(1-->3)
2012-01-15 21:52 1395C# Socket网络编程学习(1-- ... -
java socket连接c/s (转)
2012-01-15 21:51 714java socket连接c/s (转) 2010年07月0 ...
相关推荐
C#Socket多线程编程实例[收集].pdf
C#Socket多线程编程实例,以C#为开发工具,实现了多线程的通信
C#Socket多线程编程实例.pdf
C# Socket多线程编程实例-聊天程序
C#中Socket多线程编程实例.pdf
C#_Socket多线程编程实例,学习c#重要资料,socket编程
C#中Socket多线程编程实例.pdf
一个简单明了的,介绍Socket多线程编程的实例,对初学者很有帮助。
C#是微软随着 VS.net 新推出的一门语言。它作为一门新兴的语言,有着 C++的强健,又有 着 VB 等的 RAD 特性。...本文就向大家介绍一下 C#下实现套接字( Sockets)编程的一些基本知识,以期能 使大家对此有个大致了解。
手把手教你使用C#设计一个多线程聊天软件,包括源码以及如何创建工程,各个代码的作用
一个完成基本功能的 多线程 socket编程实例 聊天室 。自己根据书上部门代码写的,运行与.net 2005的 例子比较不错
五个package包,11个类文件 服务器入口 : com.hz.chang.server_server.ServerAction 直接运行就ok 客户端入口: ...建议导出客户端jar文件,以便在不同机器上运行客户端程序,这样容易出现那种阻塞情况.
Socket通信实例,代码实现了客户端与服务端,通过Socket进行通信。 用户可根据自身项目要求,增加报文协议解析,异常问题处理的功能便可以应用到实例项目中,方便为大家开发基础版的通过Socket进行通信的项目,提供...
包含了大量ftp,tcp,socket,udp的实例编程案例,适合学习网络编程的人
(1)介绍C/S(Windows窗体)多进程、多线程编程技术包括:进程调用、查看、线程创建、删除与管理技术。 (2)介绍开发网络应用编程所需的基本知识 包括:IP地址转换、域名解析、网卡信息检测以及网络数据编码和解码...