文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > C#_Socket多线程编程实例-聊天程序)
侵权投诉

C#_Socket多线程编程实例-聊天程序)

C# Socket多线程编程实例-聊天程序

C#是微软随着VS.net新推出的一门语言。它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性。而且,微软推出C#主要的目的是为了 对抗Sun公司的Java。大家都知道Java语言的强大功能,尤其在网络编程方面。于是,C#在网络编程方面也自然不甘落后于人。本文就向大家介绍一下 C#下实现套接字(Sockets)编程的一些基本知识,以期能使大家对此有个大致了解。首先,我向大家介绍一下套接字的概念。 套接字基本概念:

套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个 网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据(数 据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。

套接字可以根据通信性质分类,这种性质对于用户是可见的。应用程序一般仅在同一类的套接字间进行通信。不过只要底层的通信协议允许,不同类型的套接字间也照样可以通信。套接字有两种不同的类型:流套接字和数据报套接字。

套接字工作原理:

要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。

根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。

所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。

所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

所谓连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述 发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。 C#中的套接字编程实例:

通过向大家简单的介绍套接字的基本概念和实现套接字编程的基本原理,我想大家对套接字编程已有了初步的了解。不过,上面介绍的仅仅是基本概念和原理,要真 正运用还是需要一定的工作的。对基本概念和原理的真正理解的最好方法莫过于自己动手做一个实例,下面我就向大家介绍一个很好的用C#实现套接字编程的实例 ――聊天室程序。

本程序是基于C/S(服务器/客户端)构架的,程序包含一个服务器端的应用程序和一个客户端的应用程序。首先,在服务器上运行服务器端的应用程序,该程序 一运行就开始服务器监听。然后,在客户机上就可以打开客户端的应用程序。程序打开后可以与服务器端应用程序进行连接,即进行客户端请求。在连接确认后,客 户端用户可以和其他的客户端用户进行聊天。客户端人数没有限制,同时还支持“悄悄话”聊天模式,支持聊天记录。所以这是一个学习套接字编程的相当不错的例 子。而且,程序中为了处理每个客户端的信息还用到了多线程机制。在每个客户端与服务器端连接成功后,它们之间就建立一个线程。这样运用了多线程之后,客户 端之间就不会相互影响,即使其中一个出了错误也不会影响到另一个。

下面,我就向大家具体介绍该实例:

第1页

你可能喜欢

  • 聊天工具
  • C#程序设计
  • c#线程
  • C#编程实例
  • 聊天软件
  • c#编程
  • 串口编程

热门文档

相关文档

  • C#Socket多线程编程实例-聊天程序

    C#Socket多线程编程实例-聊天程序_计算机软件及应用_IT/计算机_专业资料。C# Socket 多线程编程实例-聊天程序 C#是微软随着 VS.net 新推出的一门语言。它作为一...

  • C# Socket多线程编程实例

    C# Socket多线程编程实例_IT/计算机_专业资料。Socket多线程编程实例,采用c#...C#中的套接字编程实例 ――聊天室程序基于C/S(服务器/客户端)构架的,程序...

  • C#中Socket多线程编程实例

    C#中Socket多线程编程实例_计算机软件及应用_IT/计算机_专业资料。非常有用的实例//客户端form using System; using System.Collections.Generic; using System....

  • Socket和多线程编程的聊天程序实现

    Key words :ava;network;Socket;communication 一、课题内容和要求 1.课题内容 基于 Socket 和多线程编程的聊天程序实现 2.课题要求 网络聊天程序设计非常复杂, ...

  • C# Socket多线程编程实例

    C# Socket多线程编程实例C# Socket多线程编程实例隐藏>> C# Socket 多线程编程...应用程序一般仅在同一类 的套接字间进行通信。 不过只要底层的通信协议允许, ...

  • Socket和多线程编程的聊天程序实现

    2 1.课题内容和要求 1.1 课题内容 基于 Socket 和多线程编程的聊天程序实现 1.2 课题要求 网络聊天程序设计非常复杂,允许多个人同时聊天更加需要多线程技术的...

  • C#Socket多线程编程实例

    C__Socket编程实例 8页 5财富值喜欢此文档的还喜欢 C#网络程序开发-Socket篇...套接字存在于通信域中, 通信域是为了处理一般的线程通过套接字通信而引进的一...

  • Socket和多线程编程的聊天程序实现

    一、 课题内容和要求 1.课题内容 基于 Socket 和多线程编程的聊天程序实现 2.课题要求 网络聊天程序设计非常复杂, 允许多个人同时聊天更加需要多线程技术的支持,...

  • Java Socket 编程——多线程网络聊天程序

    Java Socket 编程——多线程网络聊天程序_IT/计算机_专业资料。Java Socket 编程——多线程网络聊天程序//Server.java import java.awt.*; import java.net.*; ...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email