下载 >  课程资源 >  .Net > C#初学者聊天软件
3

C#初学者聊天软件

初学C#网络时老师留的聊天软件作业,运用TCP协议,私聊运用UDP协议,代码简单,适合初学者参考.有登陆,公聊,私聊
2011-11-18 上传大小:76KB
分享
收藏 举报
局域网聊天软件局域网QQ

C#做得局域网聊天软件C#做得局域网聊天软件C#做得局域网聊天软件C#做得局域网聊天软件C#做得局域网聊天软件

立即下载
C#聊天程序完整版(附源代码)

C#聊天程序完整版(附源代码) 找了好久才找到的。

立即下载
C#实现一个简单的聊天软件

本资源使用C#开发,包括客户端和服务端程序及代码并附有注释,实现了基本的通信及数据库操作。

立即下载
局域网聊天软件C#源码

C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码C#编写的局域网聊天软件C#源码

立即下载
C#聊天软件

该软件以C#实现,以后台数据库作支撑,实现多人或一对一的实时聊天功能。软件界面美观,WPF编写界面,简单好用,易看易懂。

立即下载
很好的初学者c# 局域网聊天软件

很好的初学者c# 局域网聊天软件,本软件是把服务器和客户端做在了一个界面上,可以显示IP地址和用户名称。

立即下载
C#网页版+客户端版聊天软件

C#网页版+客户端版聊天软件源码分享(C#+长连接+Sqllite数据库实现) 今天我给大家分享一个聊天程序的源码。 网页版加客户端版并存,可以互通 我相信对大家学习和扩展这一块知识是很有用的。 我们先来看下软件结构 一个Web版一个网页版,而客户端是连接的网页的 http://localhost:53947/wwwroot/Lesktop 这个路径 http://localhost:53947/wwwroot/这一部分是网页的地址,大家可以根据自己配置情况进行修改 然后浏览一下Default.aspx页面如下 这是负面版的,客户端的也是一样的,我们先来注册 一个账户 在这里我们注册两个账户还有一个是text用来聊天对话使用 注册的方法是一样的我就不多说了。 下面登录第一个账户看看 这是登录后的效果。 单击聊天室 然后我们再登录另外一个账户text 好了大家应该能看到效果了吧。 然后咱们再发个“你好” 收到了吧,再回复一个 对就是这个效果, 再来看看桌面版的 刚才的消息都在 这是桌面版的效果。 大家感觉怎么样。 我感觉大家可以在这个基础之上进行扩展,最少可以看看他的实现思路 源码分享给大家了 sufeinet.com即时通信_云骞.zip (3.25 MB, 下载次数: 1078) ReceiveResponsesHandler 类,这个主要是用来接收和维护长连接的 实现长连接的两个重要来代码预览 [C#] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 using System; using System.Collections.Generic; using System.Collections; using System.Text; using System.Web; using System.Xml; using System.Threading; namespace Core { public class ReceiveResponsesHandler : IHttpAsyncHandler { public ReceiveResponsesHandler() { } HttpContext m_Context = null; IAsyncResult IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) { m_Context = context; string sessionId = context.Request.Params["SessionID"]; string clientVersion = context.Request.Params["ClientVersion"]; string serverVersion = context.Request.Params["ServerVersion"]; ResponsesListener asyncResult = new ResponsesListener(sessionId, cb, extraData); try { if (serverVersion != ServerImpl.Instance.Version) throw new IncompatibleException(); if (!String.IsNullOrEmpty(clientVersion) && clientVersion != "1.0.1.7") throw new IncompatibleException(); string username = ServerImpl.Instance.GetUserName(context); if (string.IsNullOrEmpty(username)) throw new UnauthorizedException(); AccountState state = SessionManagement.Instance.GetAccountState(username); if (state.Receive(sessionId, asyncResult)) { ThreadPool.QueueUserWorkItem(asyncResult.Complete); } } catch (Exception ex) { asyncResult.Cache(Utility.RenderHashJson("IsSucceed", false, "Exception", ex)); ThreadPool.QueueUserWorkItem(asyncResult.Complete); } return asyncResult; } void IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) { //将消息发送到客户端 ResponsesListener asyncResult = result as ResponsesListener; asyncResult.Send(m_Context); } void IHttpHandler.ProcessRequest(HttpContext context) { } bool IHttpHandler.IsReusable { get { return true; } } } class UnauthorizedException : Exception { } class IncompatibleException : Exception { } } SendCommandHandler是用来发送消息的 [C#] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 using System; using System.Collections.Generic; using System.Collections; using System.Text; using System.Web; using System.Xml; using System.Threading; using System.Web.SessionState; using System.Reflection; namespace Core { public class SendCommandHandler : IHttpHandler { void IHttpHandler.ProcessRequest(HttpContext context) { Exception error = null; String data = null; try { System.IO.Stream inputStream = context.Request.InputStream; Byte[] buffer = new Byte[inputStream.Length]; inputStream.Read(buffer, 0, (int)inputStream.Length); string content = context.Request.ContentEncoding.GetString(buffer); XmlDocument doc = new XmlDocument(); doc.LoadXml(content); String[] handlerInfo = doc.DocumentElement.GetAttribute("Handler").Split(new char[] { ' ' }); String cmdId = doc.DocumentElement.GetAttribute("ID"); String sessionId = doc.DocumentElement.GetAttribute("SessionID"); bool isAsyn = Boolean.Parse(doc.DocumentElement.GetAttribute("IsAsyn")); Assembly assembly = Assembly.Load(handlerInfo[0]); Type handlerType = assembly.GetType(handlerInfo[1]); ConstructorInfo ctor = handlerType.GetConstructor(new Type[] { typeof(HttpContext), typeof(String), typeof(String), typeof(String) }); CommandHandler handler = ctor.Invoke(new object[] { context, sessionId, cmdId, doc.DocumentElement.InnerXml }) as CommandHandler; if (isAsyn) { ThreadPool.QueueUserWorkItem(handler.Process); } else { data = handler.Process(); } } catch (Exception ex) { error = ex; } if (error == null) { context.Response.Write(Utility.RenderHashJson("IsSucceed", true, "Data", new JsonText(data))); } else { context.Response.Write(Utility.RenderHashJson("IsSucceed", false, "Exception", error)); } } bool IHttpHandler.IsReusable { get { return true; } } } public abstract class CommandHandler { HttpContext _context = null; public HttpContext Context { get { return _context; } } String _data; public String Data { get { return _data; } } String _id; public String CommandID { get { return _id; } } String _sessionId; public String SessionID { get { return _sessionId; } } public String UserName { get { return ServerImpl.Instance.GetUserName(_context); } } public CommandHandler(HttpContext context, String sessionId, String id, String data) { _context = context; _data = data; _id = id; _sessionId = sessionId; } public abstract void Process(object data); public abstract String Process(); } } 大家想看对应关系直接看Webconfig文件 [C#] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 <?xml version="1.0" encoding="utf-8"?> <!-- 注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来 配置应用程序的设置。 可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项。 设置和注释的完整列表在 machine.config.comments 中, 该文件通常位于 \Windows\Microsoft.Net\Framework\v2.x\Config 中 --> <configuration> <appSettings> <add key="FileRoot" value="Files"/> <add key="DefaultPage" value="/Lesktop/Default.aspx"/> </appSettings> <connectionStrings/> <system.web> <httpHandlers> <add path="response.aspx" verb="*" type="Core.ReceiveResponsesHandler"/> <add path="command.aspx" verb="*" type="Core.SendCommandHandler"/> <add path="download.aspx" verb="*" type="Core.Web.DownloadHandler"/> <add path="sendfile.aspx" verb="*" type="Core.Web.SendFileHandler"/> <add path="Config.js.aspx" verb="*" type="Core.Web.DownloadJsHandler"/> <add path="Embed.js.aspx" verb="*" type="Core.Web.DownloadJsHandler"/> <add path="headimg.aspx" verb="*" type="Core.Web.DownloadHandler"/> </httpHandlers> </system.web> </configuration> 这样写的目的和好处大家要吧看我的文章 http://www.sufeinet.com/thread-7784-1-1.html 好了就到这里吧,大家有什么问题回复我吧。 感觉还可以的就给你支持

立即下载
C#模拟QQ聊天软件

用C#模拟QQ,注册,登录,模式选择,聊天等功能都有,欢迎下载学习使用.

立即下载
用C#做的一个聊天软件

这段代码是百度好友为我解惑帮忙写的两份聊天软件的其中之一,两个功能是一样的,完全可以实现点对点的聊天,只不过一个是用到了异步另一个是多线程同步(其实我觉得通过多线程控制窗体会使得程序清晰易懂,虽说会增大线程调度带来的不便和浪费),当然了,VS2010,看.sln就知道了!。

立即下载
C# 编写的聊天软件

使用C#编写的聊天软件,初学者可以通过这个程序更快的熟悉C# 语言。

立即下载
C#仿QQ聊天软件源代码

C#仿QQ聊天软件源代码 C#仿QQ聊天软件源代码

立即下载
C#聊天软件开发包括客户端和服务器端

C#聊天软件开发包括客户端和服务器端C#聊天软件开发包括客户端和服务器端C#聊天软件开发包括客户端和服务器端

立即下载
界面很酷的C#仿QQ聊天软件源代码C#

界面很酷的C#仿QQ聊天软件源代码C# 界面很酷的C#仿QQ聊天软件源代码C#

立即下载
100个C#初学者编程实例

本资源包含100个C#实例源码,深入浅出,源码简明格要,希望对初学者有所帮助.

立即下载
C#完美仿QQ聊天软件MyQQ源代码(北大青鸟完整版)

C#完美仿QQ聊天软件MyQQ源代码(北大青鸟完整版)

立即下载
2016最新版仿QQ聊天软件系统C#完整全源码asp.net

2016最新版仿QQ聊天软件系统C#完整开源全源码asp.net

立即下载
c#做的聊天软件 聊天软件

c#做的聊天软件,希望能为您提供帮助!希望能为您提供帮助!

立即下载
C#仿QQ聊天界面

C#仿QQ聊天软件,winform程序仿QQ程序,源代码与初学者共同进步

立即下载
C#聊天室软件

C#编写的聊天软件源码,用vs2010写的,代码清晰,供初学者参考。

立即下载
C# 使用 TcpClient,Socket 聊天

1. 使用C#的TcpClient写的聊天软件 2. 代码特点: 书写规范, 【最简单】的TcpClient用法, 3. 这样的好处是看了一目了然,而不是给你一个乱七八糟的项目让你去看了一上午还没看明白TcpClient, Socket到底怎么使用的

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

C#初学者聊天软件

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: